[英]How to sort through a list of strings and a list of numbers which are related, in python?
[英]How do you sort a list of numbers which are strings in python?
這很可能是一個重復的問題,但是我所有的搜索都沒有成功幫助我。 無論如何,我想將此列表從最大數字到最小數字進行排序,但它始終打印無。 在此先感謝您的幫助!
list = ['1008', '1033', '1080', '3107', '3589', '574', '703', '704', '712', '731', '810', '857', '862', '909', '927', '980']
print(list.sort()) # Prints None
它正在執行內聯排序。 您必須嘗試以下任一方法。
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))
嘗試
sorted((int(i) for i in list),reverse=True)
您正在對字符串列表進行排序,您可以將int
作為鍵傳遞給 sort 函數,因此它將為列表中的每個字符串調用int()
。
list = ['1008', '1033', '1080', '3107', '3589', '574', '703', '704', '712', '731', '810', '857', '862', '909', '927', '980']
list.sort(key=int)
print(list)
嘗試這個:
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)
'''
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.