python中for循环之前可以有什么样的语句

use*_*013 5 python

我在 python 中看到这样的代码

x = [[0] * 2 for i in range(2)]
Run Code Online (Sandbox Code Playgroud)

这会产生一个二维数组的数组。x 的值为

[[0, 0], [0, 0]]
Run Code Online (Sandbox Code Playgroud)

我的问题是我们可以在for循环前面放什么样的语句?我不太明白如何使用这个。python 中这种用法有名字吗?这是一个好的做法(pythonic)吗?

Ign*_*ams 3

任何表达式都可以放在列表推导式for中的the 之前,尽管它几乎总是与 the和 the之间给出的名称相关。forin

相关的是生成器表达式(又名genex),它不包含方括号。它们依次生成每个结果项,而不是立即生成整个列表。