【问题标题】:Why in this list i am getting maximum as [3]? [duplicate]为什么在这个列表中我得到的最大值为 [3]? [复制]
【发布时间】:2020-11-02 02:50:30
【问题描述】:
test2_list = [[], [3], [1,2], [2,4], [1,2,3], [2,3,4]]
maxList = max((x) for x in test2_list)

我得到的输出是[3],但它应该是[2,3,4]

【问题讨论】:

  • 比较两个列表时,从第一个元素开始;如果它们相同,则继续到第二个,依此类推。所以 [3] 在这种情况下是最大值。
  • 为什么你认为[2,3,4] 应该是答案?告诉你这比其他元素“更大”的规则是什么?您究竟想如何比较它们?

标签: python list


【解决方案1】:

我认为您希望根据给定的预期输出和输入的总和进行比较。

alaniwi 在评论中很好地给出了您得到输出的原因,尽管您希望将 key arg 用于 max

maxList = max(test2_list, key=sum)

【讨论】:

  • 你是怎么猜到的O_O
猜你喜欢
  • 2020-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-11
  • 1970-01-01
  • 2017-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多