Python 排序()无法对字符列表进行排序

Python 排序()无法对字符列表进行排序,python,sorting,Python,Sorting,我想对包含整数作为字符的列表进行排序。e、 g: 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

我想对包含整数作为字符的列表进行排序。e、 g:

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()的行为异常?

sorted的行为完全符合它的要求

这些是字符串,而不是整数,因此
排序
首先按第一个字符排序,然后按第二个字符排序

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

1
12
2

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

sorted的操作与它应该做的完全一样

这些是字符串,而不是整数,因此
排序
首先按第一个字符排序,然后按第二个字符排序

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

1
12
2
sorted
首先按第一列排序,然后按第二列排序。

l.sort(key=int)是一个了不起的东西。sort(key=int)是一个了不起的东西