我想对包含整数作为char的列表进行排序。例如:
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()行为异常?
答案 0 :(得分:2)
排序的行为完全正确。
这些是字符串,而不是整数,因此sorted
首先按第一个字符排序,然后按第二个字符排序。
如果我们要对['1', '2', '12']
进行排序,则会得到['1', '12', '2']
:
1
12
2
sorted
首先按第一列排序,然后按第二列排序。