for 循环新的写法==列表解析

1. (for x in L1) 是一个可迭代对象;

2. 列表解析比for 循环快,列表解析的迭代在解释器内部是以C语言速度执行,

  而不是手动python代码执行;

 

(x+10 for x in L1) = for x in L1: L1.append(x+10)

 

>>>for x in L1:

>>>  L1[x] +=10

 

 

3. 可以两个循环混合在一起,列表解析:a = [x+y for x in '你好吗?' for y in '我爱你中国!'] 

 

4. 来自于:https://foofish.net/iterators-vs-generators.html

for i in x:# 不断地获取迭代器中的下一个元素

迭代器: 在调用next() 时 返回容器中的下一个值

x = [1,2,3]

for i in x:  

5.  来自于:https://foofish.net/iterators-vs-generators.html

生成器:生成器其实是一种特殊的迭代器,不再需要iter() 和 next(), 只需要返回一个yiled

生成器一定是迭代器,反之不成立

下图可以用在工作中,优化代码!

 

6.  来自于:https://foofish.net/iterators-vs-generators.html

分别用迭代器和生成器实现斐波那契数列

 

 

posted @   vivi~  阅读(1448)  评论(7编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示