常见的函数编写其实有好几种方式,比较难一点的可以采用函数定义def的形式,简单一点的则采用lambda、列表推导式等,今天就来总结一下,以后多用用
1. def
定义一个有函数名
的函数,定义之后,再进行调用
。这种方法是比较常见的,适用于所有函数定义
def hanshu(x,y):
result=x+y*x+y
return result
2. 列表推导式
列表推导式
,通过一行代码完成简单函数的操作。将函数代码写在列表的[]内
很重要的一点是,我们要理解列表是一种可迭代对象
,它允许依次读取不同的元素
。
exam=['ff','gg','re','re','ww']
y_e=[x+'uu' for x in exam if x=='re']
y_e
3. 匿名表达式lambda
lambda 参数:表达式
通常搭配map,条件语句使用
df['x1']=df['x1'].apply(lambda x1:3 if x1=='L1'
else (2 if x1=='L2' else 1))
df['x2']=df['x2'].apply(lambda x2: 4 if x2=='A'
else (3 if x2=='B'
else (2 if x2=='C' else 1)))
4. 映射函数map
map(function,iterable,...)
:会根据提供的函数
对指定的序列做映射
。
只使用map返回的是迭代器,需要转换为列表格式
list(map(lambda x,y:x+y,[1,2,3],[2,3,4]))