推导式 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}