【发布时间】:2013-10-22 09:20:45
【问题描述】:
我有一个包含以下详细信息的列表:
list1 = ["1", "100A", "342B", "2C", "132", "36", "302F"]
现在,我想对这个列表进行排序,使值按以下顺序排列:
list1 = ["1", "2C", "36", "100A", "132", "302F", "342B"]
只是做list1.sort() 显然不能给出正确的答案——
它给出了:
list1 = ["1", "100A", "132", "2C", "36", "302F", "342B"]
我假设这是因为 python 直接将所有这些视为字符串。 但是,我想根据它们的数值 FIRST 对它们进行排序,然后是数字后面的字符。
我该怎么做?
非常感谢:)
【问题讨论】:
-
查看这篇文章 (stackoverflow.com/questions/11850425/custom-python-list-sorting) 并定义一个自定义比较函数。
-
这称为自然排序。 Does Python have a built in function for string natural sort? 的可能重复项
标签: python sorting python-2.7 python-3.x