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)
这恰恰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你的清单在哪里
这只会遍历列表一次,并且自然有助于使用不同的 - 可能更复杂的 - 用于计算三个术语的表达式.
对于每个项目的灵活数量的值,甚至更少的字符,您可以使用
In [1]: [sum(values) for values in zip(*l)[1:]]
Out[1]: [37, 10]
Run Code Online (Sandbox Code Playgroud)
zip产生相应项目组合的元组(即具有所有第一项的元组,具有所有第二项的元组等),每个元组可以相加(第一个字符串值除外).当然,""如果需要,你仍然可以在开始时或者你喜欢的任何内容.
| 归档时间: |
|
| 查看次数: |
741 次 |
| 最近记录: |