mk8*_*efz 4 python list-comprehension list
我的数据是不同大小的列表列表:
data = [[[1, 3],[2, 5],[3, 7]],[[1,11],[2,15]],.....]]]
Run Code Online (Sandbox Code Playgroud)
我想要做的是返回一个列表列表,其中每个列表列表的第二个元素的值相加 - 所以,3 + 5 + 7是一个列表,所以是11 + 15,等等:
newdata = [[15],[26],...]
Run Code Online (Sandbox Code Playgroud)
或者甚至只是一个总和列表就可以了,因为我可以从那里拿走它:
newdata2 = [15,26,...]
Run Code Online (Sandbox Code Playgroud)
我已经尝试通过列表推导的不同形式和结构访问列表中的项目,但我似乎无法得到它我想要的格式.
使用列表理解尝试这种单行方法:
[sum([x[1] for x in i]) for i in data]
Run Code Online (Sandbox Code Playgroud)
输出:
data = [[[1, 3],[2, 5],[3, 7]],[[1,11],[2,15]]]
[sum([x[1] for x in i]) for i in data]
Out[19]: [15, 26]
Run Code Online (Sandbox Code Playgroud)
如果您希望输出是列表,请使用
[[sum([x[1] for x in i])] for i in data]
Run Code Online (Sandbox Code Playgroud)