【发布时间】:2021-01-02 18:13:21
【问题描述】:
我正在练习列表理解技术,对此我有点困惑。
arr1 = np.array([[j for i in range(10)] for j in range(10)])
所以我知道您希望range(10) 中的每个i 都有一个数字j,这没有意义,因为您没有初始化j,所以它应该是i for i in range(10)。然后我们以某种方式初始化了 10 列,但是左边的 j 与 j in range(10) 有什么关系呢?
对此感到非常困惑,如果有人能将其翻译成实际发生的事情,我将不胜感激。
另外,在 Java 中,您可以像这样初始化二维数组:int[][] arr1 = new int[5][2]; // 5 rows, 2 columns,您可以在没有列表理解的情况下在 python 中实现这一点吗?
【问题讨论】:
-
不要那样做。列表推导牺牲了 NumPy 的好处。
-
如果您只想要一个 x-by-y 数组,请使用
numpy.zeros。 -
不过我还是有点理解的,我们的讲师使用这些。
-
首先省略
np.array部分,并专注于理解本身。查看它生成的嵌套列表。这是基本的python。 -
这能回答你的问题吗? List comprehension on a nested list?
标签: python numpy list-comprehension