如何按给定索引处的元素对列表/元组的列表/元组进行排序?
目标
例如有如下数组,咱们如何按照元组里第几个数据排序呢:
data = [[1,2,3], [4,5,6], [7,8,9]]
data = [(1,2,3), (4,5,6), (7,8,9)]
解法
sorted_by_second = sorted(data, key=lambda tup: tup[1])
# 或者
data.sort(key=lambda tup: tup[1]) # sorts in place 原地排序
# 倒序
sorted_by_second = sorted(data, key=lambda tup: tup[1], reverse=True)
data.sort(key=lambda tup: tup[1], reverse=True) # sorts in place