生成器表达式组合线理解执行步骤

时间:2018-12-14 08:13:50

标签: python

[print(x) for x in ((x ** 2) for x in range(5))]

输出

0

1

4

9

16

[None, None, None, None, None]

我发现了一些有关发电机的解释。他们的例子简单易懂。但是,我仍然对执行步骤和输出感到困惑。

1 个答案:

答案 0 :(得分:0)

[print(x) for x in ((x ** 2) for x in range(5))](如果使用打印方法),其返回值为,因此最终列表中将包含所有元素。如果期望的输出是将所有元素都包含在列表中,则应考虑不使用print

l=[x for x in ((x ** 2) for x in range(5))]
print(l)

输出:

C:\Users\Desktop>py x.py
[0, 1, 4, 9, 16]