4 回答

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊
您正在對(duì)字符串列表進(jìn)行排序,您可以將其作為鍵傳遞給排序函數(shù),因此它將調(diào)用列表中的每個(gè)字符串。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貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊
它正在做內(nèi)聯(lián)排序。您必須嘗試以下任一方法。
Python 列表具有一個(gè)內(nèi)置的 sort() 方法,用于就地修改列表,以及一個(gè) sorted() 內(nèi)置函數(shù),用于從可迭代生成新的排序列表。
list.sort()
print(list)
或
print(sorted(list))
您的列表是字符串。首先,您必須將它們轉(zhuǎn)換為整數(shù),然后進(jìn)行排序。
>>> 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貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊
試試這個(gè):
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)
'''
添加回答
舉報(bào)