社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何对python中的字符串数字列表进行排序?

Bigc1109 • 5 年前 • 1638 次点击  

这很可能是一个重复的问题,但是我所有的搜索都没有成功帮助我。不管怎样,我想把这个列表从最大的数字排序到最小的数字,但是它始终没有打印出来。提前谢谢你的帮助!

list = ['1008', '1033', '1080', '3107', '3589', '574', '703', '704', '712', '731', '810', '857', '862', '909', '927', '980']

print(list.sort()) # Prints None
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55296
 
1638 次点击  
文章 [ 5 ]  |  最新文章 5 年前
Raju Komati
Reply   •   1 楼
Raju Komati    5 年前
list = ['1008', '1033', '1080', '3107', '3589', '574', '703', '704', '712', '731', '810', '857', '862', '909', '927', '980']
list.sort(key=int)
print(list)
Devansh Baldwa
Reply   •   2 楼
Devansh Baldwa    5 年前

要将字符串列表转换为整数列表,

for i in range(0, len(list)): 
    list[i] = int(list[i])

那么,

print(list.sort(reverse=True))
Venkataraman R
Reply   •   3 楼
Venkataraman R    5 年前

它正在进行内联排序。你必须尝试以下任一方法。

Python列表有一个内置的sort()方法来修改列表 就地和一个sorted()内置函数,用于构建一个新的sorted 从iterable中列出。

list.sort()
print(list)

print(sorted(list))

您的列表是字符串。首先必须将它们转换为整数,然后进行排序。

>>> list
['1008', '1033', '1080', '3107', '3589', '574', '703', '704', '712', '731', '810', '857', '862', '909', '927', '980']
>>> int_list = [int(l) for l in list]
>>> int_list.sort()
>>> int_list
[574, 703, 704, 712, 731, 810, 857, 862, 909, 927, 980, 1008, 1033, 1080, 3107, 3589]

或者您可以简单地执行以下操作:

>>> print(sorted(list,key=int))
Prateek Dewan
Reply   •   4 楼
Prateek Dewan    5 年前

尝试

sorted((int(i) for i in list),reverse=True)
Alex
Reply   •   5 楼
Alex    5 年前

试试这个:

list = ['1008', '1033', '1080', '3107', '3589', '574', '703', '704', '712', '731', '810', '857', '862', '909', '927', '980']

for i in range(0, len(list)): 
    list[i] = int(list[i])

list.sort(reverse = True) 
print(list)

'''