【发布时间】:2020-03-06 17:33:58
【问题描述】:
我正在尝试循环遍历数组aa 的元素,其中for 块没有应用在它上面,而是应用在另一个数组bb 上。
import numpy as np
from itertools import cycle
aa = np.array([[399., 5., 9.], [9., 35., 2.], [.6, 15., 8842.]])
c_aa = cycle(aa)
bb = np.array([33, 1., 12, 644, 234, 77, 194, 70])
for _ in bb:
print(c_aa)
这不起作用,它只是输出:
<itertools.cycle object at 0x7f8d207b1640>
<itertools.cycle object at 0x7f8d207b1640>
<itertools.cycle object at 0x7f8d207b1640>
<itertools.cycle object at 0x7f8d207b1640>
<itertools.cycle object at 0x7f8d207b1640>
<itertools.cycle object at 0x7f8d207b1640>
<itertools.cycle object at 0x7f8d207b1640>
<itertools.cycle object at 0x7f8d207b1640>
但是,如果我将最后一行更改为 print(list(c_aa)),我的整个系统几乎都会挂起。
这里发生了什么,如何在不使用 for 调用的情况下迭代 aa?
【问题讨论】:
标签: python numpy itertools cycle