使用排序功能后,我没有得到正确的列表排序

时间:2019-02-17 11:15:28

标签: python python-3.x sorting

我正在尝试对列表进行排序以查找最大值和最小值,但是在输入10之类的2位数字后,排序无法正常工作

n=input().split();
n=list(n)
n.sort()
print(n)
print(max(n),min(n),end=" ")
10 11 4 1 7 2 9

我,除了输出应该是

['1','2','4','7','9','10','11']
11 1

但实际输出是

['9', '7', '4', '2', '11', '10', '1']
9 1

2 个答案:

答案 0 :(得分:0)

尝试一下:

n=[int(x) for x in input().split()]
n.sort()
print(n)
print(max(n),min(n),end=" ")

在您的代码中,n是字符串列表。您可以通过[int(x) for x in input().split()]获取数字列表。

答案 1 :(得分:0)

您要按词法而不是数字进行排序,因为n是一个字符串列表,而不是数字。

将第一行替换为:

n=map(int, input().split());