此问题在此处已有答案:
How to sort a Python list of strings of numbers(4个答案)
三年前就关门了。
我试图对实际上是整数的字符串列表进行排序,但没有得到正确的排序值。如何按照字符串的整数值排序呢?
a = ['10', '1', '3', '2', '5', '4']
print(sorted(a))
字符串
输出量:
['1', '10', '2', '3', '4', '5']
型
所需输出:
['1', '2', '3', '4', '5', '10']
型
4条答案
按热度按时间bbuxkriu1#
我们必须使用lambda作为键,并在排序函数发生之前将每个字符串转换为int。
字符串
更短的方法->sorted(a,key=int)。感谢@Mark的评论。
eivgtgni2#
所以解决这个问题的方法之一是将列表转换为整数列表,通过迭代每个元素,并将其转换为整数,然后对其进行排序,并再次将其转换为字符串列表。
von4xj4u3#
您可以将字符串转换为整数,对它们进行排序,然后再转换回字符串。使用列表解析的示例:
字符串
更详细的版本:
型
注意:@tedd对这个问题的解决方案是这个问题的首选解决方案,我肯定会推荐这个解决方案。
3yhwsihp4#
每当你有一个元素列表,你想使用元素的一些属性进行排序,使用
key
参数(见文档)。它看起来像这样:
字符串