【问题标题】:Can someone explain the output of the following code regarding max()? [duplicate]有人可以解释以下关于 max() 的代码的输出吗? [复制]
【发布时间】:2020-06-27 17:07:47
【问题描述】:

Python 代码:

print(max(['2020','4','70','5']))

我得到的输出是70

我想了解max() 如何处理字符串。

谁能解释一下?

【问题讨论】:

  • 你检查过文档吗?
  • 如果您想在该列表中找到最大的数字:print([int(x) for x in your_list_here])
  • print(max(['2020','4','70','5'], key=int))

标签: python


【解决方案1】:

如果您提供max()string,它会返回字符串中最高的字母字符。因此它将根据字母顺序降序排列。

正如这里所解释的https://www.geeksforgeeks.org/python-string-max/#:~:text=os._exit()-,Python%20String%20%7C%20max(),alphabetical%20character%20in%20a%20string.&text=Return%20value%3A,highest%20character%20in%20the%20string

【解决方案2】:

max() 有两种使用方式

  1. 在可迭代对象中查找最大的项目
max(iterable, *iterables, key, default)
  1. 获取列表中的最大数字
number = [3, 2, 8, 5, 10, 6]
largest_number = max(number);

我认为你想要的是最后一个。如果您还添加了一个

print(largest_number)

它会抛出10 的输出。

【讨论】:

  • 您是在暗示list 不是 iterable
  • 不,但在这种情况下,我认为在这种特定情况下,他甚至应该将 ['2020','4','70','5'] 更改为 [2020,4,70,5],因为他似乎正在尝试打印最大的数字,这样做可以解决“错误”他得到了
  • OP的问题是她不明白数值和它的字符表示之间的区别,你回答没有帮助。
  • 对我来说似乎很清楚,但没关系。从字面上看,对于数字,您最好的选择是我指出的“2”。
猜你喜欢
  • 2020-05-29
  • 1970-01-01
  • 1970-01-01
  • 2021-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-28
相关资源
最近更新 更多