Max()返回最高列表,而不是数字

时间:2016-02-17 12:44:08

标签: list python-3.x

我在这里有一段示例代码:

scores = [[1,2,3,6],[1,2,3,9]]

highest = (max(scores[1:3]))
print (highest)

我正在尝试打印索引1-3中两个列表的最高编号,但它只打印最高列表。

[1, 2, 3, 9]

在人们将其标记为重复之前,我已经搜索了其他问题(with this one being the closest related),但它们似乎都没有效果。也许我错过了一个小关键元素。

1 个答案:

答案 0 :(得分:1)

尝试将max应用于每个列表。

每个列表中最大的最大值:

print max(max(lst) for lst in scores[1:3])

每个列表最多:

print tuple(max(lst) for lst in scores[1:3])

不是索引从0开始,因此您将获得(9,)。两者兼得:

print tuple(max(lst) for lst in scores[0:3])

示例(python 3,所以print是一个函数,而不是一个语句):

>>> print(max(max(lst) for lst in scores[1:3]))
9
>>> print(tuple(max(lst) for lst in scores[1:3]))
(9,)
>>> print(tuple(max(lst) for lst in scores[0:3]))
(6, 9)