在python中,重复一个2d数组不同的次数

时间:2017-02-10 17:12:32

标签: python loops repeat

我在python中工作。我有一个数组stud,其形状为(3, 11, 16),另一个数组为times = np.array[740, 560, 600]。我想重复第一片a0 ,11 ,16)740次。然后我想重复下一段a (1, 11, 16) 560次,第三次切片相同。

这是我的尝试

new_array = []
for i in times:
    for j in range(len(stud)):
        rep = np.repeat(stud[j,:,:], i, axis=0)

这里的问题是所有切片j重复i次。我想让它工作,以便第一个i然后只执行第一个j。对于第二个i,仅执行第二个j,依此类推。 知道如何做到这一点吗?

1 个答案:

答案 0 :(得分:1)

我相信你要找的是:

new_array = []
for i, j in zip(times, range(len(stud))):
    rep = np.repeat(stud[j,:,:], i, axis=0)

这将循环3次:

第一次,i=740, j=0

第二次,i=560, j=1

第三次,i=600, j=2

如果我误解了你的问题,请纠正我。