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

分別用迭代器和生成器實現斐波那契數列

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM