有人可以解释为什么这段代码:
A = [1,2,3,4]
B = ((element) for element in A)
print(B)
产生:<generator object <genexpr> at 0x0319B490>
这段代码:
A = [1,2,3,4]
for element in A:
print(A)
产生:
1
2
3
4
它们对我来说似乎是一样的,但它们显然是不同的。我无法弄清楚它们之间的区别。
谢谢。
最佳答案
第一个代码是 generator expression ,因此它将在某个内存地址创建一个生成器对象。如果你想使用 list comprehension然后按照以下方式使用 []
:
A = [1,2,3,4]
B = [element for element in A]
print(B)
# [1, 2, 3, 4]
这个列表理解等价于:
A = [1,2,3,4]
B = []
for element in A:
B.append(element)
关于python - 关于 "generator object"的说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22483958/