sorted()无法对字符列表进行排序[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我想将包含整数的列表排序为chars。例如:

l = ['1', '10', '11', '12', '16', '17', '2', '24', '26', '27', '28', '30', '32', '34', '35', '36', '43', '45', '47', '49', '50', '6', '9']
print(sorted(l))

正在回归:

['1', '10', '11', '12', '16', '17', '2', '24', '26', '27', '28', '30', '32', '34', '35', '36', '43', '45', '47', '49', '50', '6', '9']

为什么sorted()表现异常?

python sorting
1个回答
2
投票

排序完全按照应有的方式行事。

这些是字符串,而不是整数,所以sorted首先按第一个字符排序,然后按第二个字符排序。

如果我们想对['1', '2', '12']进行排序,我们得到['1', '12', '2']

1
12
2

sorted首先按第一列排序,然后排在第二列。

© www.soinside.com 2019 - 2024. All rights reserved.