我有一个名为list_6的嵌套列表:
[[-1,1,-1,1,-1,1,1,0,-1,0,-1,-1,1,1,1,0,1,-1,-1 ,-1,1,1,1,1,0,-1,0,0,0,1,0,-1,1,1,-1,0,0,1,1,-1,0, -1,1,1,-1,1,-1,-1,-1,1,-1],...]]
列表中的每个元素都包含-1,1的整数,并且元素的长度不相等,列表中有20个元素
我想创建一个名为list_7的新列表,如下所示:
[[13],[4],[5],...]],以便对嵌套列表中的每个元素求和,并打印结果。我尝试使用iter.zip_longest:
[itertools.zip_longest(* list_6,fillvalue = 0)中i的和(i)
但是出现错误功能:
'str'对象不可调用
答案 0 :(得分:6)
您可以使用列表理解https://www.programiz.com/python-programming/list-comprehension
list_7 = [sum(inner_list) for inner_list in list_6]
在括号([]
)中,您要遍历list_6中的每个项目。
由于list_6中的每个项目本身都是一个列表(inner_list
,我们可以在列表上调用python的sum
函数来获取inner_list
https://www.w3schools.com/python/ref_func_sum.asp中的值之和。>
我现在看到您正在寻找要列出的总额([[13],[4],[5],...]],
),在这种情况下,您想这样做:
list_7 = [[sum(inner_list)] for inner_list in list_6]
在sum(inner_list)
前后加上方括号会创建一个新列表,其唯一条目是inner_list的总和。