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

Python 为什么max()打印的数量不正确?,python,key,max,Python,Key,Max,产出:7 为什么输出是7而不是8 当我将打印语句修改为: list = [['apples', 'oranges', 'cherries', 'banana'], ['Alice', 'Bob', 'Carol', 'David'], ['dogs', 'cats', 'moose', 'goose']] print(len(max(list[0]))) 它起作用了。我不明白为什么。我希望有人能帮助我 谢谢,因为max(列表[0])等于'oranges',l

产出:7

为什么输出是7而不是8

当我将打印语句修改为:

list = [['apples', 'oranges', 'cherries', 'banana'],
        ['Alice', 'Bob', 'Carol', 'David'],
         ['dogs', 'cats', 'moose', 'goose']]

print(len(max(list[0])))
它起作用了。我不明白为什么。我希望有人能帮助我


谢谢,因为max(列表[0])等于'oranges',len('oranges')等于7。

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


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

默认情况下,字符串按字典顺序进行比较。请从中重复和。“教我这个基本的语言特性”是堆栈溢出的主题。您必须诚实地尝试解决方案,然后询问有关实现的具体问题。堆栈溢出不是为了取代现有的教程和文档。谢谢!亲亲抱抱
print(len(max(list[0], key = len)))