如何對列表進行排序?如何在python列表中排序的列表中獲得正確的結果
我的結果是:
['10','11','12','7','8','9'],['1','2','3','4','5','6']]
這裏是我的代碼
lst= [['7','10','8','9','11','12'],['3','1','2','4','6','5']]
for i in lst:
i.sort()
print(i)
如何對列表進行排序?如何在python列表中排序的列表中獲得正確的結果
我的結果是:
['10','11','12','7','8','9'],['1','2','3','4','5','6']]
這裏是我的代碼
lst= [['7','10','8','9','11','12'],['3','1','2','4','6','5']]
for i in lst:
i.sort()
print(i)
這些字符串對象,字符串:
'10' < '7' because `1 < 7`
我想你想:
>>> [sorted(map(int, i)) for i in lst]
[[1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12]]
>>>
只需在排序前將它們轉換爲int對象。
如果你需要讓他們在字符串對象,隱蔽回或設置一個關鍵點:
>>> [list(map(str, i)) for i in [sorted(map(int, i)) for i in lst]]
[['7', '8', '9', '10', '11', '12'], ['1', '2', '3', '4', '5', '6']]
>>> [sorted(i, key=lambda x: int(x)) for i in lst]
[['7', '8', '9', '10', '11', '12'], ['1', '2', '3', '4', '5', '6']]
這給我:[[7,8,9,10,11,12],[1,2,3,4,5,6]]不是[1,2,3,4,5,6], [7,8,9,10,11,12]謝謝 –
使用sorted(list, key=int)
:
lst= [['7','10','8','9','11','12'],['3','1','2','4','6','5']]
for i in lst:
i = sorted(i, key=int)
print(i)
好吧,不知道之前:) –
什麼是你想要的輸出? –
只是谷歌如何在Python中排序列表。 ..你會發現很多關於該主題的東西 –
@BrianCain問一個完全合理的問題:你得到的輸出有什麼問題?對我來說,就像你對字符串進行排序一樣,你從排序字符串中得到了預期的輸出。沒有什麼顯而易見的。你必須告訴我們問題是什麼。 – barny