您好,登錄后才能下訂單哦!
本文實例講述了Python列表生成式與生成器操作。分享給大家供大家參考,具體如下:
列表生成式:能夠用來創建list的生成式
比如想要生成類似[1*1,2*2,3*3,…..100*100]
的這種list
時
可以用
[x * x for x in range(1,11)]
這樣就能生成,除此之外,后面還能添加判斷條件來篩選
比如
[x * x for x in range(1,11) if x%2=0]
這樣就能篩選出僅有偶數的平方
還能用多層循環來生成全排列
[m+n for m in 'ABC' for n in 'XYZ']
總之 列表生成式能夠快速的生成滿足條件的list
下面是一個讓list中所有字符串變為小寫的例子
[s.lower() for s in ['TIM','JOHN','MARY']
生成器:就是未循環完的列表,這是為了節約電腦內存,設立的一種一邊循環一邊計算的機制。
創建的方法也是很簡單,其中一種就是把列表生成式的[]
改成()
就可以了
而調用的時候也一般不用麻煩的next()
的方法,而是用for
循環來遍歷
比如:
g = (x*x for x in range(10)) for n in g: print(n)
運行結果:
0
1
4
9
16
25
36
49
64
81
這樣就能遍歷出所有的生成器中的元素
另一種生成器的方法:如果函數中包含有yield
關鍵字,則這是一個生成器
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)
運行結果:
step 1
1
step 2
3
step 3
5
更多關于Python相關內容可查看本站專題:《Python列表(list)操作技巧總結》、《Python字符串操作技巧匯總》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。