Python:不按字典顺序排序字符串数字

kuc*_*h11 0 python

我有一个字符串数字数组,如:

numbers = ['10', '8', '918', '101010']
Run Code Online (Sandbox Code Playgroud)

当我使用时sorted(numbers),我会按字典顺序对它们进行排序,例如'8' > '17'.

如何迭代根据数值排序的字符串?

gtl*_*ert 6

您可以使用sorted()带有键的内置函数int将列表中的每个项目映射到整数之前的整数:

numbers = ['10', '8', '918', '101010']
numbers = sorted(numbers, key=int)
print(numbers)
Run Code Online (Sandbox Code Playgroud)

产量

['8', '10', '918', '101010']
Run Code Online (Sandbox Code Playgroud)

使用此方法将根据需要输出字符串列表.