python中书写函数map, lambda, def,列表推导式

文章目录

      • 1. def
      • 2. 列表推导式
      • 3. 匿名表达式lambda
      • 4. 映射函数map

常见的函数编写其实有好几种方式,比较难一点的可以采用函数定义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]))

你可能感兴趣的:(python,python)