Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中使用字符和数字对字符串进行排序?_Python_List_Sorting - Fatal编程技术网

如何在Python中使用字符和数字对字符串进行排序?

如何在Python中使用字符和数字对字符串进行排序?,python,list,sorting,Python,List,Sorting,我想把下面的事情分类 l = ["125.13-ac35", "142.1532-afe354eqd", "125.13-abe319ej", "142.1523-d315aw"] 像这样使用Python l = ["125.13-abe319ej", "125.13-ac35", "142.1523-d315aw", "142.1532-af

我想把下面的事情分类

l = ["125.13-ac35", "142.1532-afe354eqd", "125.13-abe319ej", "142.1523-d315aw"]
像这样使用Python

l = ["125.13-abe319ej", "125.13-ac35",  "142.1523-d315aw", "142.1532-afe354eqd"]
有人建议我使用基数排序,但这并不是我想要的。 例如,要对这些内容进行排序,请执行以下列表

a = [15, 3216, 120, 1, 1000, 253]
应该这样分类

a = [1, 1000, 120, 15, 253, 3216]

有任何排序算法可以这样排序吗?

您需要通过将内部元素转换为字符串来对列表进行排序

a = [15, 3216, 120, 1, 1000, 253]
a.sort(key=lambda x:str(x))

print(a)
输出

[1, 1000, 120, 15, 253, 3216]

我知道我不能在评论中说谢谢,但这是一个快速而好的回答。工作起来很有魅力,非常感谢你。谢谢你,汉克斯,你可以说你可以直接写
a.sort(key=str)
。不需要额外的lambda层。注释文本框显示“避免像“+1”或“谢谢”这样的注释,因为像“+1”或“谢谢”这样的注释不会添加任何内容。(也请参阅更多)副本是错误的。这个问题不是重复的。事实上,它要求的恰恰相反——如何避免按递增顺序排列数字。相反,它是一个复制品。