小福利,python内置map函数和lambda函数运用

关于map()
map() 会根据提供的函数对指定序列做映射。

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
【简单说:map()接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 】

map() 函数语法

map(function, iterable, ...)


a=map(int, (1,2,3))
# print(list(a))


# # 将元组转换成list
 print(list(map(int, (1,2,3))))
# # 将字符串转换成list
 print(list(map(int, '1234')))
# # 提取字典的key,并将结果存放在一个list中
 print(list(map(int, {1:2,2:3,3:4})))
# # 字符串转换成元组,并将结果以列表的形式返回
 print(list(map(tuple, 'agdf')))
# # 将小写转成大写
 def u_to_l (s):
   return s.upper()
 print(list(map(u_to_l,'asdfd')))

或者上面代码用的df = df.map(function)格式。
在这里插入图片描述

在这里插入图片描述

lambda匿名函数

  1. lambda匿名函数的格式:冒号前是参数,可以有多个,用逗号隔开,冒号右边的为表达式。
    其实lambda返回值是一个函数的地址,也就是函数对象。
    在这里插入图片描述
    x**y表示x的y次方

  2. 将lambda函数作为参数传递给其他函数比如说结合map、filter、sorted、reduce等一些Python内置函数使用。

在这里插入图片描述
在这里插入图片描述


# c=lambda x,y,z:x*y*z
# print(c(2,3,4))
#
# print((lambda x:x**2)(3))
#
# a=lambda x , y : x ** y
# print(list(map(a,[2,4,6],[3,2,1])))



#跟filter过滤函数结合
a=list(filter(lambda x:x%3==0,[1,2,3,4,5,6]))
# print(a)
#跟map映射函数结合
squares = map(lambda x:x**2,range(5))
# print(list(squares))
# 与sorted()函数结合使用,比如:创建由元组构成的列表

a=[('b',3),('a',2),('d',4),('c',1)]
#按照第一个元素排序

sorted(a,key=lambda x:x[0])
# [('a',2),('b',3),('c',1),('d',4)]
#按照第二个元素排序

sorted(a,key=lambda x:x[1])
# [('c',1),('a',2),('b',3),('d',4)]
#与reduce函数结合使用

from functools import reduce
print(reduce(lambda a,b:'{},{}'.format(a,b),[1,2,3,4,5,6,7,8,9]))

# 输出:1,2,3,4,5,6,7,8,9


def f(x, y):
    return x + y

print(reduce(f, [1, 3, 5, 7, 9]))

reduce()函数也是Python内置的一个高阶函数。

reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。

原文链接
https://blog.csdn.net/weixin_43629813/article/details/120039597
https://blog.csdn.net/Jerome9508/article/details/101864588

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值