相关疑难解决方法(0)

如何以数字方式对列表进行排序?

我知道这听起来微不足道,但我没有意识到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()功能更多或更少有用的东西.

python sorting

114
推荐指数
7
解决办法
26万
查看次数

按升序对数字字符串列表进行排序

我创建了一个sqlite数据库,它有一个存储温度值的表.温度值首次以升序写入数据库.然后我将数据库中的温度值读入列表,然后将该列表添加到组合框中以选择温度 - 工作正常.

结果列表是:

templist = ['25', '50', '100', '150', '200', '250', '300'].
Run Code Online (Sandbox Code Playgroud)

然后我向数据库添加一个新的温度值,比如'33'.

它被附加到表的末尾.如果我现在读取温度,列表将变为:

['25', '50', '100', '150', '200', '250', '300', '33']. 
Run Code Online (Sandbox Code Playgroud)

如果我做templist.sort()sorted(templist),最终的结果是

['150', '200', '25', '250', '300', '33', '50']
Run Code Online (Sandbox Code Playgroud)

是否有任何简单的方法按升序对列表进行排序,以便我得到:

['25', '33', '50', '100', '150', '200', '250', '300']
Run Code Online (Sandbox Code Playgroud)

python sorting list

50
推荐指数
2
解决办法
22万
查看次数

如何排序python数字字符串列表

我正在尝试对包含数字的字符串列表进行排序

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

python

27
推荐指数
3
解决办法
6万
查看次数

标签 统计

python ×3

sorting ×2

list ×1