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