整理,数据处理中的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