在Python中打印具有最高值的嵌套列表的正确方法是什么

时间:2015-04-20 23:19:35

标签: python list python-3.x nested-lists

我有一个嵌套列表,我试图得到总和并打印出单个数字加在一起时具有最高数值的列表

x = [[1,2,3],[4,5,6],[7,8,9]]
highest = list()

for i in x:
    highest.append(sum(i))

for ind, a in enumerate(highest):
    if a == max(highest):
        print(x[ind])

我已经能够打印出结果,但我认为应该有一种简单且更加Pythonic的方式(可能使用列表理解)。

我该怎么做?

1 个答案:

答案 0 :(得分:13)

怎么样:

print(max(x, key=sum))

演示:

>>> x = [[1,2,3],[4,5,6],[7,8,9]]
>>> print(max(x, key=sum))
[7, 8, 9]

这是有效的,因为max(以及许多其他python内置函数,如minsort ...)接受一个用于比较的函数。在这种情况下,我只是说我们应该根据他们的x和我们的叔叔鲍勃来比较sum中的元素,我们已经完成了!