比较常见的有列表推导式和字典推导式,下面举例说明
1 列表推导式
格式:
[表达式 for value in iterable if 条件语句]
所有从这个for循环出来的数据都会先经过if语句过滤,然后执行前面的表达式,最后重新返回一个列表,过滤条件可有可无.
>>> mylist = [1,2,3,4,5]
>>> new_list = [var*var for var in mylist]
>>> new_list
[1, 4, 9, 16, 25]
可以对比另一篇博客,map函数的用法.这个更简洁
2 字典推导式
[key:value for key in iterable if 条件语句
>>> mylist = [1,2,3,4,5]
>>> mylist = {var:'a' for var in mylist}
>>> mylist
{1: 'a', 2: 'a', 3: 'a', 4: 'a', 5: 'a'}
给Jack 和 Marry 加工资:
>>> mydict = {'Jack':{'money':10000, 'sex':'male'}, 'Marry':{'money':10000, 'sex':'female'}}
>>> newdict = {key:{'money':mydict[key]['money']+1000,'sex':mydict[key]['sex']} for key in mydict}
>>> mydict
{'Jack': {'money': 10000, 'sex': 'male'}, 'Marry': {'money': 10000, 'sex': 'female'}}
>>> newdict
{'Jack': {'money': 11000, 'sex': 'male'}, 'Marry': {'money': 11000, 'sex': 'female'}}