为什么max()打印的数量不正确?

2024-05-12 19:24:08 发布

您现在位置:Python中文网/ 问答频道 /正文

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))) 

它起作用了。我不明白为什么。我希望有人能帮助我

谢谢


Tags: mooselenmaxlistbananabobdavidprint
2条回答

默认情况下,max函数按字母顺序返回值最高的字符串。 这是“橙子”,它的长度是8

当您提供键作为第二个参数时,它将按字符串的长度而不是字母顺序进行比较

因为max(list[0])等于“oranges”,len(“oranges”)等于7

相关问题 更多 >