python 生成器推导式与列表推导式的区别
生成器表达式现用现生成,列表推导式一次性生成静态数据
L = [2, 3, 5, 7] L2 = (x**2+1 for x in L) it = iter(L2) print(next(it)) L[1] = 10 print(next(it)) #由于是现取现拿,因此L改变之后,在去遍历L里面的现在要取的数据,在用来next,因此打印出来的数据也随之改变了。 L = [2, 3, 5, 7] L2 = [x**2+1 for x in L] it = iter(L2) print(next(it)) L[1] = 10 print(next(it)) #由于列表推导式,因此列表就固定死了,无论L之后怎么变,都不会影响到L2 输出结果: tarena@tedu:~/zengsf$ python3 exercise821.py 5 101 5 10
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步