Python列表生成式與生成器操作示例
本文實(shí)例講述了Python列表生成式與生成器操作。分享給大家供大家參考,具體如下:
列表生成式:能夠用來創(chuàng)建list的生成式
比如想要生成類似[1*1,2*2,3*3,…..100*100]
的這種list
時(shí)
可以用
[x * x for x in range(1,11)]
這樣就能生成,除此之外,后面還能添加判斷條件來篩選
比如
[x * x for x in range(1,11) if x%2=0]
這樣就能篩選出僅有偶數(shù)的平方
還能用多層循環(huán)來生成全排列
[m+n for m in 'ABC' for n in 'XYZ']
總之 列表生成式能夠快速的生成滿足條件的list
下面是一個(gè)讓list中所有字符串變?yōu)樾懙睦?/p>
[s.lower() for s in ['TIM','JOHN','MARY']
生成器:就是未循環(huán)完的列表,這是為了節(jié)約電腦內(nèi)存,設(shè)立的一種一邊循環(huán)一邊計(jì)算的機(jī)制。
創(chuàng)建的方法也是很簡單,其中一種就是把列表生成式的[]
改成()
就可以了
而調(diào)用的時(shí)候也一般不用麻煩的next()
的方法,而是用for
循環(huán)來遍歷
比如:
g = (x*x for x in range(10)) for n in g: print(n)
運(yùn)行結(jié)果:
0
1
4
9
16
25
36
49
64
81
這樣就能遍歷出所有的生成器中的元素
另一種生成器的方法:如果函數(shù)中包含有yield
關(guān)鍵字,則這是一個(gè)生成器
def odd(): print('step 1') yield 1 print('step 2') yield(3) print('step 3') yield(5)
使用(遍歷)方法:
g=odd() for i in g: print(i)
運(yùn)行結(jié)果:
step 1
1
step 2
3
step 3
5
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python列表(list)操作技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
學(xué)會使用Python?Configparser處理ini文件模塊
這篇文章主要為大家介紹了使用Python?Configparser處理ini文件模塊的學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06解決python中import文件夾下面py文件報(bào)錯(cuò)問題
這篇文章主要介紹了解決python中import文件夾下面py文件報(bào)錯(cuò)問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06