假设我有
a = [1,2,1,3,2,2]
b = [4,7,9,5,6,11]
我期待着
c = [[4,9],[7,6,11],[5]]
正如您可能看到生成的子列表位于列表a指向的索引处.我们如何在python中做?
最佳答案 你可以使用defaultdict:
>>> from collections import defaultdict
>>> d = defaultdict(list)
>>> a = [1,1,1,2,2,3]
>>> b = [4,7,9,5,6,11]
>>> for k,v in zip(a,b):
... d[k].append(v)
...
>>>[x[1] for x in sorted(d.items())]
[[4, 7, 9], [5, 6], [11]]