为什么 max() 打印错误的数量?
why is max() printing the wrong amount?
list = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
print(len(max(list[0])))
输出:7
为什么输出是 7 而不是 8?
当我将打印语句修改为:
print(len(max(list[0], key = len)))
有效。我不明白为什么。我希望有人能帮助我。
谢谢
因为 max(list[0]) 等于 'oranges' 而 len('oranges') 等于 7.
默认情况下,max 函数 returns 具有最高值的字符串,按字母顺序排列。
即“橙子”,长度为 8.
当您将键作为第二个参数提供时,它会按长度而非字母顺序比较字符串。
list = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
print(len(max(list[0])))
输出:7
为什么输出是 7 而不是 8?
当我将打印语句修改为:
print(len(max(list[0], key = len)))
有效。我不明白为什么。我希望有人能帮助我。
谢谢
因为 max(list[0]) 等于 'oranges' 而 len('oranges') 等于 7.
默认情况下,max 函数 returns 具有最高值的字符串,按字母顺序排列。 即“橙子”,长度为 8.
当您将键作为第二个参数提供时,它会按长度而非字母顺序比较字符串。