我在python中工作。我有一个数组stud
,其形状为(3, 11, 16)
,另一个数组为times = np.array[740, 560, 600]
。我想重复第一片a
(0 ,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
,依此类推。
知道如何做到这一点吗?
答案 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
如果我误解了你的问题,请纠正我。