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

2022-05-08 15:06:09 字數 1226 閱讀 1585

固定語法 [i for i in a if ***]

示例:獲取偶數

a = [1,2,3,4]

x =for i in

a:

if i%2 ==0:

a =x

print

(a)#

[2,4]

使用列表推導式:

a = [1,2,3,4]

a = [i for i in a if i%2 ==0]

print

(a)#

[2,4]

列表推導式可以呼叫函式:

a = [1,2,3,4]

b = [i*i for i in

a]print

(b)#

[1, 4, 9, 16]

如果呼叫函式:

a = [1,2,3,4]

defpingfang(x):

return x*x

b = [pingfang(i) for i in

a]print

(b)#

[1, 4, 9, 16]

語法:把列表推導式的換成()

a = [1,2,3,4]

a = ['

%s個雞蛋

'%i for i in a] #

列表推導式

print

(a)#

['1個雞蛋', '2個雞蛋', '3個雞蛋', '4個雞蛋']

轉換如下:

a = [1,2,3,4]

a = ('

老母雞下%s個蛋

'%i for i in a) #

生成器表示式 a是乙個生成器

g =a

print

(next(g))

print

(next(g))

print

(next(g))

print

(next(g))

#老母雞下1個蛋

#老母雞下2個蛋

#老母雞下3個蛋

#老母雞下4個蛋

和列表推導式類似

示例:把字典的key與value對換

dic = 

dic =

print

(dic)

#

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

生成器表示式,列表推導式 其他推導式 變數 加工後的變數 for 變數 in iterable 迴圈模式 變數 加工後的變數 for 變數 in iterable if 條件 篩選模式 優點 1,節省 一行搞定.2,看著高大上.缺點 不好排錯.整體 凡是用列表推導式構造的列表物件,用其他方式都可構建...

列表推導式 生成器表示式

列表推導式 基本形式 表示式 for 引數 in 可迭代物件 或者 表示式 for 引數 in 可迭代物件 if 條件 例項 1 l 2for i in range 100 egg s i 4printi5 6 不帶if條件 7 l agg s i for i in range 100 89 帶if...

Python 列表推導式 生成器表示式

一行 幾乎搞定你需要的任何的列表。篩選模式 優缺點將列表推導式的 換成 即可。100w資料占用記憶體很大,所以對於資料量比較大的資料,要用生成器表示式 g i for i in range 1000000 print g print g.next print g.next 字典推導式 1.將乙個字典...