Python 3.x 试图理解复杂函数

Python 3.x 试图理解复杂函数,python-3.x,lambda,artificial-intelligence,Python 3.x,Lambda,Artificial Intelligence,我在做这个人工智能项目,我需要创建一个由任意5个连续数字组成的数组。例如[[1]、[2]、[3]、[4]、[5]]。幸运的是,我遵循了一个教程,并得到了这一行:Data=[[[I+j]对于范围(5)中的I]对于范围(100)]。我想知道这意味着什么。我对Python有很强的了解,但从未使用过这种类型的符号。代码 Data = [[[i+j] for i in range(5)] for j in range(100)] 可分为两部分: [[i+j] for i in range(5)] 及

我在做这个人工智能项目,我需要创建一个由任意5个连续数字组成的数组。例如[[1]、[2]、[3]、[4]、[5]]。幸运的是,我遵循了一个教程,并得到了这一行:
Data=[[[I+j]对于范围(5)中的I]对于范围(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)]
这类似于:

elements = []
for i in range(5):
    elements.append([i + j]) 
产生:

[[0], [1], [2], [3], [4]]

外部循环执行此任务一百次,但每次运行时将内部循环的“开始”值增加1。因此,我们生成了100个列表,其中包含5个元素的列表,每个元素包含1个元素的列表。

您要查找的搜索词是
列表理解
[[0], [1], [2], [3], [4]]