alw*_*btc 11 python sum list max
我有一份清单清单:
x = [[1,2,3], [4,5,6], [7,8,9], [2,2,0]]
Run Code Online (Sandbox Code Playgroud)
我想得到列表中其元素总和最大的列表.在这种情况下[7,8,9].
我宁愿有一个花哨的map或lambda列表理解方法而不是for/while/if循环.
最好的祝福
Mar*_*ers 24
max采用一个关键参数,你可以告诉max如何计算迭代中每个项目的值.sum会在这里做得很好:
max(x, key=sum)
Run Code Online (Sandbox Code Playgroud)
演示:
>>> x = [[1,2,3], [4,5,6], [7,8,9], [2,2,0]]
>>> max(x, key=sum)
[7, 8, 9]
Run Code Online (Sandbox Code Playgroud)
如果您需要使用不同的方法来总结项目,您也可以指定自己的功能; 这不仅限于python内置函数:
>>> def mymaxfunction(item):
... return sum(map(int, item))
...
>>> max([['1', '2', '3'], ['7', '8', '9']], key=mymaxfunction)
['7', '8', '9']
Run Code Online (Sandbox Code Playgroud)