我试图想出一个迭代遍历存储在列表中的numpy数组的行的生成器时遇到困难。用于遍历numpy数组列表的行的生成器
我可以通过使用常规的for循环实现这一点:
list = [numpy.array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]]), numpy.array([[0, -1, -2, -3, -4],
[-5, -6, -7, -8, -9]])]
for array in list:
for row in array:
print(' '.join(map(str, row)))
,但我想拿出一个发电机,做正是用更少的代码。我尝试以下,这工作,但具有硬编码阵列行数:
mygen = (' '.join(map(str, i[j])) for j in range(2) for i in list)
for r in mygen:
print (r)
现在,当我试图改变range(2)
到range(i.shape[0])
我得到的IndexError: tuple index out of range
。为什么这段代码不起作用?
太好了,非常感谢! – aaragon 2014-08-29 08:54:51
快乐是我的。记住星号中的部分,不会让列表解析错误。 – 2014-08-29 08:58:09