如何对字符串列表进行数字排序?我知道这听起来微不足道,但我没有意识到sort()Python的功能很奇怪。我有一个实际上是字符串形式的“数字”列表,所以我首先将它们转换为int,然后尝试排序。list1=["1","10","3","22","23","4","2","200"]for item in list1:
item=int(item)list1.sort()print list1给我:['1', '10', '2', '200', '22', '23', '3', '4']我想要的是['1','2','3','4','10','22','23','200']我已经查看了一些与数字集排序相关的算法,但我发现的算法都涉及字母数字集的排序。我知道这可能是一个不需要思考的问题,但是Google和我的教科书并没有提供比.sort()功能。
3 回答

当年话下
TA贡献1890条经验 获得超9个赞
list1 = ["1","10","3","22","23","4","2","200"]list1 = [int(x) for x in list1]list1.sort()
sort
key
list1 = ["1","10","3","22","23","4","2","200"]# call int(x) on each element before comparing itlist1.sort(key=int)

偶然的你
TA贡献1841条经验 获得超3个赞
for item in list1: item=int(item)
item
key=int
添加回答
举报
0/150
提交
取消