【问题标题】:why is max() printing the wrong amount? [duplicate]为什么 max() 打印错误的数量? [复制]
【发布时间】:2020-12-22 17:34:59
【问题描述】:
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))) 

它有效。我不明白为什么。我希望有人可以帮助我。

谢谢

【问题讨论】:

  • 字符串默认按字典顺序比较。
  • 请从tour 重复on topicHow to Ask。 “教我这个基本的语言功能”对于 Stack Overflow 来说是题外话。您必须诚实地尝试解决方案,然后就您的实施提出具体问题。 Stack Overflow 无意取代现有的教程和文档。

标签: python key max


【解决方案1】:

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

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

【讨论】:

  • 谢谢!拥抱和亲吻
【解决方案2】:

因为 max(list[0]) 等于 'oranges' 而 len('oranges') 等于 7。

【讨论】:

    猜你喜欢
    • 2019-05-31
    • 2021-12-15
    • 2014-12-22
    • 1970-01-01
    • 2021-04-03
    • 1970-01-01
    • 2023-01-11
    • 2011-04-08
    • 1970-01-01
    相关资源
    最近更新 更多