0
我想排序的第二元素的元組列表。列表中的每個元組都由一個元組和一個整數組成。排序元組列表的第二項不工作在python
l = [((1, 0, 1), 0), ((1, 0, 6), -1), ((1, 0, 8), -1), ((1, 0, 11), 0), ((1, 0, 14), 0), ((1, 0, 15), 0), ((1, 0, 17), -5), ((1, 0, 20), -3),
((1, 0, 22), 0), ((1, 0, 24), 0)]
sorted(l, key = lambda x:x[1])
print(l)
sorted(l, key = lambda x:x[0])
print(l) # same output
第一sorted()
聲明應根據元組的第二個元素進行排序列表,即0,-1,-1,0,0,0,-5,-3,0,0,應該返回像這樣的或類似的東西,其中的元組的第二個元素是在非減順序列表:
[((1, 0, 17), -5), ((1, 0, 20), -3), ((1, 0, 6), -1), ((1, 0, 8), -1), ((1, 0, 1), 0), ((1, 0, 11), 0), ((1, 0, 14), 0), ((1, 0, 15), 0),
((1, 0, 22), 0), ((1, 0, 24), 0)]
但這兩個print
報表打印相同並保持原始列表不變。爲什麼?以及如何通過第二元素對元組列表進行排序?我甚至試過key=itemgetter(1)
,但結果依然如此。
sorted()返回一個新列表。使用list.sort()來代替。 –