我知道这听起来微不足道,但我没有意识到sort()Python 的功能很奇怪.我有一个实际上是字符串形式的"数字"列表,所以我首先将它们转换为int,然后尝试排序.
list1=["1","10","3","22","23","4","2","200"]
for item in list1:
item=int(item)
list1.sort()
print list1
Run Code Online (Sandbox Code Playgroud)
给我:
['1', '10', '2', '200', '22', '23', '3', '4']
Run Code Online (Sandbox Code Playgroud)
我想要的是
['1','2','3','4','10','22','23','200']
Run Code Online (Sandbox Code Playgroud)
我查看了一些与排序数字集相关的算法,但我发现的算法都涉及排序字母数字集.
我知道这可能是一个毫无疑问的问题,但谷歌和我的教科书没有提供比.sort()功能更多或更少有用的东西.
我正在尝试对包含数字的字符串列表进行排序
a = ["1099.0","9049.0"]
a.sort()
a
['1099.0', '9049.0']
b = ["949.0","1099.0"]
b.sort()
b
['1099.0', '949.0']
a
['1099.0', '9049.0']
Run Code Online (Sandbox Code Playgroud)
但是列表b是排序而不是列表a