我有一个嵌套列表,我正在尝试获取总和并打印各个数字相加时具有最高数值的列表
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])
我已经能够打印出结果,但我认为应该有一种简单且更 Python 的方法(也许使用列表理解)。
我该怎么做?
怎么样:
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内置,如min
,sort
...)接受用于比较的函数。 在这种情况下,我只是说我们应该根据它们各自的sum
来比较x
中的元素,鲍勃的叔叔,我们完成了!