推導式 生成器

2021-09-01 06:21:49 字數 953 閱讀 6856

1.推導式生成列表

[表示式 for item in  可迭代物件  ]    或者:[表示式 for item in  可迭代物件 if 條件判斷]

#推導式生成列表

ls = [x for x in range(1,5) if x%2 ==0]

[2, 4]

2.生成器生成元組

(表示式 for item in  可迭代物件)    或者:(表示式 for item in  可迭代物件 if 條件判斷)

乙個生成器只能執行一次。第一次迭代可以得到資料,第二次迭代沒有資料

#生成器生成元組

gnt = (a for a in range(5))

print(gnt)

print(tuple(gnt)) #用tuple生成元組

print(tuple(gnt)) #第二次列印,遍歷一次

at 0x01ed1c00>

(0, 1, 2, 3, 4)

()

3.推導式生成字典

字典推導也可以增加 if 條件判斷、多個 for 迴圈

#推導式生成字典

zd = "isfaergargareg"

zd1 =

print(zd1)

4.推導式生成集合

或者:

#集合推導式

jh = "asdawefawef"

cd =

print(cd)

生成器,生成器推導式和列表推導式

python社群,大部分生成器和迭代器是一種 生成器的本質是迭代器 唯一區別 生成器是我們自己用python 構建的資料結構 迭代器都是提供的,或者轉化得來的 生成器函式 生成器表示式 python提供的 yield 乙個next 對應乙個yield yield和下乙個yield中間有 的話只執行乙...

生成器 推導式

建立生成器的方法 1.通過生成器函式 yield 2.生成器表示式 def func1 x sum 0 for i in range 1,x x 1 yield xg func1 6 生成器函式對 print g 表示這是乙個迭代器print g.next 乙個next對應乙個yield print...

python生成器推導式

1.生成器推導式是繼列表推導式後的有一中python推導式,他比列表推導式速度更快,占用的記憶體也更少。2.使用生成器物件時,可以根據需要將他轉化為列表或者元組,也可以是喲個生成器對像 next 方法或內建函式next 進行遍歷,其具有惰性求值的特點,進行一次遍歷後便不能再次方位內部元素,即訪問一次...