Python 的几种推导式

推导式 comprehensions(又称解析式):是 Python 中很强大的、很受欢迎的特性,具有语言简洁,速度快等优点。推导式包括:

1. 列表推导式
2. 字典推导式
3. 集合推导式

对以上的三种推导式分别举例分析:

一、列表推导式


1、使用 [] 生成 list

例如:

list = [ i for i in range(20) if i%2 == 0 ]
print(list)

#output:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

2、使用 () 生成 generator

将列表推导式的 [] 换成 () 即可得到生成器。

generator = ( i for i in range(20) if i%2 == 0 )
print(generator)

#output:<generator object <genexpr> at 0x0000000000B5CA40>

通过 next() 就可以依次调用生成器中的数据。

二、字典推导式


存在 key 和 value,使用的是 {}。

dic = { "A":1, "b":2, "C":3, "d":4 }
new_dic = { k:v for k,v in dic.items() if k <= 'a'}
print(new_dic)

#output:{'C': 3, 'A': 1}

三、集合推导式


它跟列表推导式也是类似的。区别在于它使用大括号 {},并且数据是无序和无重复的。

Set = { i**2 for i in [1,2,3,4,5,3] }
print(Set)

#output:{16, 1, 4, 9, 25}
原文地址:https://www.cnblogs.com/GyForever1004/p/8465847.html