我不是python的高手,但我需要从数据集中绘制一些图像,我想使用列表理解来实现这一点,但不知道如何实现。所以我使用了while
循环,但是访问包含大小为(1080,)的标签的元组时也出现了问题,我得到了如下错误消息:
IndexError: index 1 is out of bounds for axis 0 with size 1
所以在我重塑元组之后,一切都很好。我的代码:
i, j = 0, 0
y = np.reshape(Y_train_orig, (1080))
while (j < 5):
if y[i] == 0 :
plt.imshow(X_train_orig[i])
plt.show()
j += 1
i += 1
所以我想知道是否真的有必要重塑它,是否我可以避免使用循环,而是使用列表理解。它会比我的while
循环更有效吗?你知道吗
如果您不发布生成
Y_train_orig
的代码,我们就无法知道它的形状,或者即使它是numpy.ndarray
,因此我们无法帮助您进行重塑。你知道吗关于主要问题:列表理解不适用于传统的循环(尽管如果你真的想,你可以将一些东西组合在一起),而只是将结果收集到一个列表中,可能还应用了一些过滤器。您希望多次执行某些操作(绘制),因此确实应该使用
while
或for
循环。你知道吗为完整起见,鉴于我对您的变量了解不多,下面是我编写循环的方法:
相关问题 更多 >
编程相关推荐