推導式是從乙個或者多個迭代器快速簡潔地建立資料結構的一種方法。它可以將迴圈和條件判斷結合,從而避免語法冗長的**。會使用推導式有時可以說明你已經超越了python初學者的水平。也就是說使用推導式更像python風格。
之前已經說過建立列表的多種方法,使用[ ] 、list() 、str.split() 等方法,除此之外,列表推導式也是生成具有一定規律的列表的方法。如建立乙個從1到5的整數列表:
number_list =
2.number_list =3.for i in range(1,6):
print(number_list)
4.更簡單的一種方法即列表推導式number_list = list(range(1,6))
也可以加上條件表示式:[ expression for item in iterable ]
也可以加上多個條件表示式:[ expression for item in iterable if condition]
[ expression for item_1 in iterable_1 if condition_1 for item_2 in iterable_2 if condition_2]
二、字典推導式
除了列表,字典也有自己的推導式:三、集合推導式類似於列表推導,字典推導也有if 條件判斷及多個 for 迴圈迭代語句:[ key_expression : value_expression for expression in iterable ]
得到:word = 'letters'
letter_count =
letter_count —— >
四、生成器推導式
元組是沒有推導式的。並不是將列表推導式中的方括號變成圓括號就可以定義元組推導式,就像下面的表示式一樣:
number_thing = (number for number in range(1,6))
其實,圓括號之間的是生成器推導式,它返回的是乙個生成器物件:注:乙個生成器只能執行一次。列表、集合、字串和字典都儲存在記憶體中,但是生成器僅在執行中產生值,不會被存下來。所以不能重新使用或者備份乙個生成器。
各種推導式
列表推導式 i for i in range 10 列印列表 0,1,2,3,4,5,6,7,8,9 每乙個元素或者是和元素相關的操作 for 元素 in 可迭代資料型別 遍歷隻後挨個處理 滿足條件的元素相關的操作 for 元素 in 可迭代資料型別 if 元素相關條件 篩選功能 aa i for ...
Python 各種推導式
列表推導式 一般推導 生成1 2 3 4 5 6 7 8 9 10的列表 lis i for i in range 1 11 帶過濾條件的推導 生成 0 2 4 6 8 的列表 i for i in range 10 if i 2 0 帶函式的推導 生成 0,1,4,9,16,25,36,49,64...
python 的各種推導式
推導式又稱解析式,是python的一種獨有特性。推導式是可以從乙個資料序列構建另乙個新的資料序列的結構體。共有三種推導,在python2和3中都有支援 列表 list 推導式 字典 dict 推導式 集合 set 推導式 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫...