python列表和元组的生成器?

python列表和元组的生成器?

a是一个列表
a = [i for i in range(1,101) if i % 2 == 1]
b是一个生成器
b =(i for i in range(1,101) if i % 2 == 1)

为嘛?


回答:

不为嘛。前者叫 list comprehension,后者就是 generator,和元组并没有关系。

除了零元组外,别的元组的特征都是逗号,而不是小括号。很多时候加小括号是因为别的语法需要(比如你传参数的时候,不加小括号不是散开成多个参数了么)。如果你要返回一个元组,可以直接 return a, b, c 不用写小括号。

所以并没有 tuple comprehension,只有 list / dict / set 的版本。generator 只是长着像而已。


回答:

认为规定,没有为什么

以上是 python列表和元组的生成器? 的全部内容, 来源链接: utcz.com/p/938661.html

回到顶部