python中map()函数的用法介绍

本文深入介绍了Python中的map()函数,包括其基本语法、参数说明及实际应用案例,展示了如何利用map()函数处理列表和其他可迭代对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引入map()方法,首先是从一行代码切入的。

代码如下:

dicts = list(map(lambda x : x.to_dict(), user))

大家能看懂吗?

不难看出此行代码最重要的map()方法的使用。那么,接下来,我们来介绍map()方法。

map()的原型是map(function, iterable, …)它的返回结果是一个列表。

参数    function:  传的是一个函数名,可以是python内置的,也可以是自定义的。 就像上面的匿名函数lambda
参数    iterable:   传的是一个可以迭代的对象,例如列表,元组,字符串这样的。

这个函数的意思就是将function应用于iterable的每一个元素,结果以列表的形式返回。注意到没有,iterable后面还有省略号,意思就是可以传很多个iterable,如果有额外的iterable参数,并行的从这些参数中取元素,并调用function。如果一个iterable参数比另外的iterable参数要短,将以None扩展该参数元素。还是看例子来理解吧!

a=(1,2,3,4,5)
b=[1,2,3,4,5]
c="lh"

la=map(str,a)
lb=map(str,b)
lc=map(str,c)

print(la)
print(lb)
print(lc)

输出:
['1', '2', '3', '4', '5']
['1', '2', '3', '4', '5']
['l', 'h']

 不难看出str是python中的内置函数,那么我们也可以自定一个函数,无论是累加,乘,除,方差等等都可以自定义,按照需求。

那么,如果里面有多个可迭代的对象呢?会怎么执行?三个对象的长度不一致怎么办?

如下例子:不难看出,较短的列表会用NONE来填充。

def add(x,y,z):
    return x,y,z

list1 = [1,2,3]
list2 = [1,2,3,4]
list3 = [1,2,3,4,5]
res = map(add, list1, list2, list3)
print(res)

输出:
[(1, 1, 1), (2, 2, 2), (3, 3, 3), (None, 4, 4), (None, None, 5)]

那么,我们最开始的代码:

dicts = list(map(lambda x : x.to_dict(), user))

也就是在将user中的每一个元素交给匿名函数去执行to_dict()方法,并且返回一个列表。

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值