Python入門:列表推導式

列表推導式(list comprehension)是處理列表(字典、信使)的一種快捷方式,它可以將一個數據序列通過某種操作映射為另一個數據序列。

格式1:基本應用

<code>[表達式 for 變量 in 列表]/<code>
<code># 將列表中所有元素乘以2放到新的列表中
list = [3, 6, 2, 4, 7, 5]
rlist = [item * 2 for item in list]
print(rlist)/<code>

結果:[6, 12, 4, 8, 14, 10]

格式2:條件篩選(2種)

<code># 按條件篩選變量
[表達式 for 變量 in 列表 if 條件]/<code>
<code># 獲取列表中所有大於4的元素乘以2放到新的列表中
list = [3, 6, 2, 4, 7, 5]
rlist = [item * 2 for item in list if item > 4]
print(rlist)/<code>

結果:[12, 14, 10]

<code># 按條件對變量進行不同操作
[表達式1 if 條件 else 表達式2 for 變量 in 列表]/<code>
<code># 列表中奇數+1,偶數+2
list = [3, 6, 2, 4, 7, 5]
rlist = [item + 2 if item % 2 == 0 else item + 1 for item in list]
print(rlist)/<code>

結果:[4, 8, 4, 6, 8, 6]

格式3:嵌套

<code>[表達式 for 變量 in 列表 for 變量 in 列表... ]/<code>
<code># 篩選2個列表中的偶數,按照[(2,4),(2,8),...]樣式組成新的列表
list1 = [3, 6, 2, 4]
list2 = [1, 5, 8, 9]
rlist = [(x, y) for x in list1 for y in list2 if x % 2 == 0 and y % 2 == 0]
print(rlist)/<code>

結果:[(6, 8), (2, 8), (4, 8)]


分享到:


相關文章: