推导式

推导式

推导式是一种可以更加方便生产某种数据的方式
比如生产一些具有一定要求的列表元组字典等数据集


列表推导式

语法格式

[ 表达式 for value in 序列 if 过滤条件 ]

解释:

所有从这个for循环出来的数据

  • 首先会经过if条件过滤
  • 执行表达式计算
  • 重新返回成一个新的列表,过滤条件按照需求也可以没有
1
2
3
4
5
6
7
8
>>> mylist = [1,2,3,4,5]
>>> newlist = [ var + 1 for var in mylist ]
>>> newlist
[2, 3, 4, 5, 6]
>>> mylist = [1,2,3,4,5]
>>> newlist = [ var * var for var in mylist if var != 3]
>>> newlist
[1, 4, 16, 25]

字典推导式

字典推导式:与列表推导式类似,只不过需要两个值存在来维护字典的键值对形式

语法格式

{ key:value for key in 序列 if 过滤条件 }
1
2
3
4
>>> mylist = ['a','b','c']
>>> new_dict = {mylist.index(var):var for var in mylist}
>>> new_dict
{0: 'a', 1: 'b', 2: 'c'}

思考
如何将字典中的员工工资通过字典推导式分别加100呢?

{‘jack’:{‘money’:1000},’bob’:{‘money’:1000}}

好记性不如烂笔头
好记性不如烂笔头
好记性不如烂笔头,你觉得呢


集合推导式

集合推导式跟列表推导式非常相似,唯一语法区别在于用 { } 代替 [ ]

语法格式

{ 表达式 for value in 序列 if 过滤条件 }
1
2
3
4
5
>>> mylist
['a', 'b', 'c']
>>> myset = { var.upper() for var in mylist}
>>> myset
{'C', 'B', 'A'}

转载请注明原文地址

您的支持将被用作发行更高质量原创技术!