迷路的哈士奇คิดถึง 2021-07-01 10:18 采纳率: 33.3%
浏览 28

python 生成器表达式

a = [1,2,3]
b = (x for x in a if a.count(x)>0)
a = [0,2,0]
print(list(b))

结果是

[2]

原因是什么?

  • 写回答

1条回答 默认 最新

  • python收藏家 2021-07-01 10:46
    关注

    调用b的时候a的值已经变了,第二行只是一个生成器对象,只有在使用时候才会执行

    评论

报告相同问题?