標籤:
元組比較:
1 >>> (0, 1, 2) < (0, 3, 4)2 True3 >>> (0, 1, 2000000) < (0, 3, 4)4 True
列表的多欄位排序:
sorted_list = [ [1, 2, 3, 4, 5, 6, 7, 8], [3, 2, 6, 1, 8, 4, 6, 1], [8, 3, 5, 1, 3, 9, 0, 2], [9, 8, 7, 6, 5, 3, 2, 1]]sorted(sorted_list, key = lambda item: (item[1], item[4], item[3]), reverse = True)# result[[9, 8, 7, 6, 5, 3, 2, 1], [8, 3, 5, 1, 3, 9, 0, 2], [3, 2, 6, 1, 8, 4, 6, 1], [1, 2, 3, 4, 5, 6, 7, 8]]
列表-列表的分組操作:
import itertoolssorted_list = [ [1, 2, 3, 4, 5, 6, 7, 8], [1, 2, 6, 1, 8, 4, 6, 1], [8, 2, 5, 7, 3, 9, 0, 2], [9, 8, 7, 6, 5, 3, 2, 1]]sorted([[key, [item for item in items]] for key, items in itertools.groupby(sorted_list, key = lambda item: (item[0], item[1]))], key = lambda item: item[0][0])
# result
[
[ (1, 2), [ [1, 2, 3, 4, 5, 6, 7, 8], [1, 2, 6, 1, 8, 4, 6, 1] ] ], #分組1
[(8, 2), [ [8, 2, 5, 7, 3, 9, 0, 2] ] ], #分組2
[(9, 8), [ [9, 8, 7, 6, 5, 3, 2, 1] ] ] #分組3
]
python 使用記錄