Python 如何创建对二维数组的值求和的数组
我想求和到一个数组中的值 基本上,我有这个数组数据,我如何得到这个输出 输出是这样的Python 如何创建对二维数组的值求和的数组,python,python-3.x,Python,Python 3.x,我想求和到一个数组中的值 基本上,我有这个数组数据,我如何得到这个输出 输出是这样的 [[2, 3, 4, 6, 9], [4, 6, 8, 12, 18], [6, 9, 12, 18, 27], [8, 12, 16, 24, 36], [10, 15, 20, 30, 45], [12, 18, 24, 36, 54], [14, 21, 28, 42, 63], [16, 24, 32, 48, 72], [18, 27, 36, 54, 81], [20, 30, 4
[[2, 3, 4, 6, 9],
[4, 6, 8, 12, 18],
[6, 9, 12, 18, 27],
[8, 12, 16, 24, 36],
[10, 15, 20, 30, 45],
[12, 18, 24, 36, 54],
[14, 21, 28, 42, 63],
[16, 24, 32, 48, 72],
[18, 27, 36, 54, 81],
[20, 30, 40, 60, 90]]
我试过这样的东西,但没用
[2+3+4+6+9, 2+3+4+6+18, 2+3+4+6+27, 2+3+4+6+36, 2+3+4+6+45, 2+3+4+6+54, 2+3+4+6+63, 2+3+4+6+71, 2+3+4+6+81, 2+3+4+6+90, 4+3+4+6+9, ...]
你想要这个吗
final = [] trans = [*zip(*data)]
k = 0 l = 0
while(k != len(trans) * len(data)): val = 0 m = 0 for d1 in trans:
val = val + d1[m * l]
m = m + 1 l = l + 1 k = k + 1 final.append(val)
在python2中:
my_list = [[2, 3, 4, 6, 9],
[4, 6, 8, 12, 18],
[6, 9, 12, 18, 27],
[8, 12, 16, 24, 36],
[10, 15, 20, 30, 45],
[12, 18, 24, 36, 54],
[14, 21, 28, 42, 63],
[16, 24, 32, 48, 72],
[18, 27, 36, 54, 81],
[20, 30, 40, 60, 90]]
sum_list = [sum(i) for i in my_list]
print(sum_list)
对于python3:
summed_array = map(sum,array)
按照你的要求去做:
summed_array = list(map(sum,array))
它怎么不起作用?要非常具体。另外,将代码格式化为代码,而不是引用数据中sub的sum(sub)?
映射(sum,数组)
@jpp。如果查看所需的输出,则这不是重复。OP不是在寻找一个简单的行和。“所有的答案恰好都是错的,OP的措辞有点模棱两可。”奥斯汀。谢谢你的坚持。这个问题重新开始了。这不会在Python3中产生一个列表,我不认为这是OP想要的;与预期输出不匹配,或者只有我看到了不同。参见[2+3+4+6+9,2+3+4+6+18,2+3+4+6+27,…]
@Austin。我终于明白你的意思了。你完全正确。对我说的所有其他话感到抱歉。我不认为这是OP想要的;与预期输出不匹配,或者只有我看到了不同。参见[2+3+4+6+9,2+3+4+6+18,2+3+4+6+27,…]
我想他希望得到总数,因为如果他想要像你一样,他会这样写,[[2+3+4+6+9],…][/code>或[(2+3+4+6+9),…]。您不能将
int`like[2+3+4+6+9,…]
列成一个列表,其中所有值都是int
。
[sum(row[:-1]) + x[-1] for row in array for x in array]