将列表中的值按索引映射到列表

时间:2019-10-30 06:44:52

标签: python numpy

我想根据另一个列表中的索引将列表中的点映射到列表。 例如,假设我们有:

k: 2
a: [0,1,2,1]
b: [[i,...], [t,...], [u,...], [v,...]]

我想将b中的值映射到从ac的索引。

ka中的最大值。我只用i,t,u,v来标识b的子数组。

c: [
    [[i,...]],
    [[t,...], [v,...]],
    [[u,...]]
   ]

非常感谢abc是numpy数组(ndarray)。

1 个答案:

答案 0 :(得分:2)

def test():
    a = [0,1,2,1]
    k = max(a)
    b = [[1,2,3], [4,5], [6,7], [8, 9]]
    c = [[] for i in range(k+1)]
    for i in range(len(b)):
        c[a[i]].append(b[i])
    print(c)