我正在做这个AI项目,我需要创建一个包含5个连续数字的数组。例如[[[1],[2],[3],[4],[5]]。幸运的是,我下面的教程,并获得该行做到这一点:Data = [[[i+j] for i in range(5)] for j in range(100)]
。我想知道这是什么意思。我对Python有很深的了解,但从未使用过这种表示法。
代码
Data = [[[i+j] for i in range(5)] for j in range(100)]
可以分为两部分:
[[i+j] for i in range(5)]
和
[[[i+j] for i in range(5)] for j in range(100)]
他们两个都包含列表理解。让我们评估第一个。
[[i+j] for i in range(5)]
这类似于:
elements = []
for i in range(5):
elements.append([i + j])
产生:
[[0], [1], [2], [3], [4]]
外循环执行此任务一百次,但是每次运行都会将内循环起始值增加1。因此,我们生成100个列表,其中包含5个元素的列表,每个列表包含1个元素的列表。