为什么 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.

当您将键作为第二个参数提供时,它会按长度而非字母顺序比较字符串。