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
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步