在python中从另一个列表创建多个副本的列表

时间:2017-09-15 10:13:56

标签: python numpy

numpy中的任何功能都能达到这个目的吗?下面的函数f有点尴尬

def f(l,times):
    res=[]
    for i in range(len(l)):
        res+=[l[i]]*times[i]
    return res



In  [93]:f([1,2,3],[2,2,2])

Out [93]:[1, 1, 2, 2, 3, 3]

1 个答案:

答案 0 :(得分:0)

np.repeat就是这样做的。 例如:

In [8]: a = np.arange(4)

In [9]: b = np.array([1, 2, 1, 3])

In [10]: np.repeat(a, b)
Out[10]: array([0, 1, 1, 2, 3, 3, 3])

如果您使用> = 2维数组,则可以指定轴参数。请参阅文档here