[英]Sum of every element in a list
所以我有一个清单:
list1 = [[1, 3, 6, 8, 9, 9, 12], [1, 2, 3, 2, 1, 0, 3, 3]]
但你也可以把它分成两个列表,如果它更容易的话。 我所要做的就是将每个数字与其他数字相加。 就像你知道的第一行:
1+1、1+2、1+3、1+2、1+1...
第二:
3+1...等
first = [1, 3, 6, 8, 9, 9, 12]
second = [1, 2, 3, 2, 1, 0, 3, 3]
w = [x + y for x, y in zip(first, second)]
我试图以这种方式做到这一点。 但它不起作用*,有什么想法吗?
*我的意思是它以错误的方式求和,而不是所有可能的数字,只是第一个列表中的第一个和第二个列表中的第一个。
zip
仅获得位于同一索引处的对。 你应该有一个双循环:
[x + y for x in first for y in second]
您可以使用itertools
来获取所有可能的对,然后制作一对总和列表
import itertools
first = [1, 3, 6, 8, 9, 9, 12]
second = [1, 2, 3, 2, 1, 0, 3, 3]
res = itertools.product(first, second)
ress = [sum(pair) for pair in res]
print(ress)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.