4 回答
TA贡献1773条经验 获得超3个赞
您正在对字符串列表进行排序,您可以将其作为键传递给排序函数,因此它将调用列表中的每个字符串。intint()
list = ['1008', '1033', '1080', '3107', '3589', '574', '703', '704', '712', '731', '810', '857', '862', '909', '927', '980']
list.sort(key=int)
print(list)
TA贡献1845条经验 获得超8个赞
它正在做内联排序。您必须尝试以下任一方法。
Python 列表具有一个内置的 sort() 方法,用于就地修改列表,以及一个 sorted() 内置函数,用于从可迭代生成新的排序列表。
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))
TA贡献1801条经验 获得超15个赞
试试这个:
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)
'''
添加回答
举报