您好我有一份清单,例如
a = [[1, 2, 3], [5, 3, 6], [4, 2, 5], [7, 3, 8]]
根据子列表的第二个元素,我想得到:
b = [ [[1, 2, 3], [4, 2, 5]], [[5, 3, 6], [7, 3, 8]] ]
答案 0 :(得分:4)
您可以使用字典根据第二个元素对子列表进行分类:
>>> d = {}
>>> for i,j,k in a :
... d.setdefault(j,[]).append([i,j,k])
...
>>> d
{2: [[1, 2, 3], [4, 2, 5]], 3: [[5, 3, 6], [7, 3, 8]]}
>>> d.values()
[[[1, 2, 3], [4, 2, 5]], [[5, 3, 6], [7, 3, 8]]]
答案 1 :(得分:1)
对子列表的第二个元素的值进行排序:
sorted(a, lambda a, b: a[1] - b[1])