如何在python中找到字符串的最大值和最小值?

Oli*_*ker 4 python for-loop if-statement max min

这是我目前的计划.它正在输出不正确的最大值和最小值.我的if语句缺少什么?

def palin():
  max = 0
  min = 50
  numbers = "23","3","4","6","10"
  for x in numbers:

    if x>max:
      max=x
    if x<min:
      min=x

  print max
  print min
Run Code Online (Sandbox Code Playgroud)

Fil*_*vić 9

当你做字符串比较或尝试使用min(),max()用绳子,你实际上是在维护字母顺序:

>>> sorted(numbers)
['10', '23', '3', '4', '6']
Run Code Online (Sandbox Code Playgroud)

这就是为什么很多依赖于位置比较的内置 Python函数都支持这个key参数:

>>> numbers
('23', '3', '4', '6', '10')
>>> sorted(numbers, key=int)
['3', '4', '6', '10', '23']
>>> min(numbers, key=int)
'3'
>>> max(numbers, key=int)
'23'
Run Code Online (Sandbox Code Playgroud)