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


常见的函数编写其实有好几种方式,比较难一点的可以采用函数定义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]))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值