如何在嵌套的Python列表中添加数字

sau*_*ean 2 python nested-lists

我有一份清单

[["Sunday", 7, 0], ["Sunday", 2, 0], ["Monday", 1, 5], ["Tuesday", 5, 0], ["Thursday", 2, 0], ["Friday", 3, 0], ["Friday", 1, 0], ["Saturday", 4, 0], ["Monday", 8, 0], ["Monday", 1, 0], ["Tuesday", 1, 0], ["Tuesday", 2, 0], ["Wednesday", 0, 5]]
Run Code Online (Sandbox Code Playgroud)

我可以在列表中添加值以获得总和

["I dont need this value", 37, 10]
Run Code Online (Sandbox Code Playgroud)

NPE*_*NPE 8

这恰恰reduce()是为了:

In [4]: reduce(lambda x,y:['',x[1]+y[1],x[2]+y[2]], l)
Out[4]: ['', 37, 10]
Run Code Online (Sandbox Code Playgroud)

l你的清单在哪里

这只会遍历列表一次,并且自然有助于使用不同的 - 可能更复杂的 - 用于计算三个术语的表达式.

  • 为什么不在这里问你的问题所以每个人都可以参加? (2认同)

Jan*_*hko 5

对于每个项目的灵活数量的值,甚至更少的字符,您可以使用

In [1]: [sum(values) for values in zip(*l)[1:]]
Out[1]: [37, 10]
Run Code Online (Sandbox Code Playgroud)

zip产生相应项目组合的元组(即具有所有第一项的元组,具有所有第二项的元组等),每个元组可以相加(第一个字符串值除外).当然,""如果需要,你仍然可以在开始时或者你喜欢的任何内容.