【发布时间】:2020-08-04 20:36:28
【问题描述】:
我是一个完全的编码新手,并且非常坚持摆脱嵌套的 for 循环。
for i in range(A.shape[0]):
for sublink in links:
if A[i, sublink[0]] >= 1:
vec = np.array(A[i]).tolist()
vec[sublink[0]] -= 1
vec[sublink[1]] += 1
yield vec
假设我有links = [[0,1],[1,2],[1,0],[2,1]] 和A=[3,0,0,2,1,0,1,2,0] 的链接,我想循环平展NumPy 数组A,循环最初在A 的前三个元素上运行,并在for 循环块内执行任何内容。然后循环在展平 A 的第二个三个元素段上运行,依此类推。
【问题讨论】:
-
minimal reproducible example 会有所帮助。
标签: python python-3.x numpy for-loop optimization