python – 通过使用第一个数组项索引条目来合并两个数组?

假设我有

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]]
点赞