Python-常见推导列表/lambda/map/filter/reduce

整理,数据处理中的python-style
1、推导列表:
例:

>>> [i*3 for i in range(1,9) if i%2==0]
[6, 12, 18, 24]

#设置函数,先执行后边的条件,再执行前边的条件
作用:用语生出含规律数据的列表

2、推导字典:

 >>>{x:x*2 for x in range(1,9)}
 {1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12, 7: 14, 8: 16}

作用:初始化生产字典

3、推导集合:
例:

 >>> {x*2 for x in range(1,9)}
{2, 4, 6, 8, 10, 12, 14, 16}

作用:初始化生成集合

4、lambda #隐藏函数 返回结果为生成列表
5、map #创建map的函数,依次匹配序列中的元素(尽力而为的匹配)
作用:遍历序列进行计算(序列包含列表、元组、字符串)
例:

>>> list(map(lambda x,y:x+y, [2,3,5],[7,9,10]))
[9, 12, 15]
>>> list(map(lambda x,y,z:x+y+z, [2,3,5],[6,7,9,10],[1,1,2,3]))
[8, 10, 14]
>>> list(map(lambda x,y,z:x+y+z, [2,3,5],[6,7,9,10],[1,1,2,3]))
[9, 11, 16]
>>> list(map(lambda x:ord(x),'abcdefg'))
[97, 98, 99, 100, 101, 102, 103]

6、filter #先创建过滤条件函数,对序列做过滤处理
例:

>>> list(filter(lambda x:5>x and x>0 ,[1,2,11,3,4,5]))
[1, 2, 3, 4]

7、reduce # reduce(function,interable[,initializer])
function:参数,必须由两个参数
interable:可迭代对象
initializer:初始化值,一般是第一个,可寻
作用:做数据的累积计算
例:
from functool import reduce
print(reduce(lambda x,y:x+y),[1,2,3,4,5],0)
#列表内元素累加
运行:

>>> from functools import reduce #导入工具
>>> print(reduce(lambda x,y:x+y,[1,2,3,4,5],0))
15
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值