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)]


分享到:


相關文章: