Python - 推导式

比较常见的有列表推导式和字典推导式,下面举例说明
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'}}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值