Python - 排序用户输入的整型列表
我在使用输入方法时遇到了一些问题,我想得到一个用空格分开的整数列表。我的代码如下:
def numberStore():
numberList = input("Enter list of numbers seperated by spaces ").split(" ")
print("The lowest number is" , listLowestNumber(numberList))
然后我有一个函数,用来返回输入列表中最小的数字。
def listLowestNumber(list):
list.sort()
return list[0]
但是当我执行这个叫做 numberStore 的函数时,它似乎只根据第一个数字来排序。例如,输入值 40 9 50 时,它会返回 40 作为最小的数字。谢谢大家的帮助!
3 个回答
0
看起来它是把元素当作字符串来排序的。你所说的排序方式是字典顺序,而不是数字顺序。简单来说,你需要把你的字符串元素转换成数字元素。
1
在你排序之前,需要先把列表里的值转换成整数(int):
numberList = input("Enter list of numbers seperated by spaces ").split()
numberList = [int(v) for v in numberList]