推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。 共有三种推导,在Python2和3中都有支持:
- 列表推导式(list)
- 字典推导式(dict)
- 集合推导式(set)
一(列表推导式):
这边做一个最简单的推导式,其实和普通的一个for循环是没什么差别的就是改成一行代码。更简化代码。逻辑都是相同的。条件都是和普通的for循环一眼加进去就好了。
alist = [i for i in range(30) if i % 3 is 0]
print(alist)
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
前面的这个i为返回值,也可以是一个函数
二(字典推导式):
他和列表推导式的区别在于列表推导式使用中括号[],字典推导式使用大括号{}
dict_var = {'name':'张三', 'age':'李四'}
adict = {v:k for k,v in dict_var.items()}
print(adict)
{'张三': 'name', '李四': 'age'}
三(集合推导式)
set_ver = {x**2 for x in [1,2,3]}
print(set_ver)
{1, 4, 9}