Python3内置函数汇总

目录

Python3 map() 函数详解 将迭代对象逐个放入函数处理

map()函数的主要作用是将一个迭代对象中的每个值逐个放入用户指定的函数或者方法中进行处理,如果传入多个迭代对象,那么指定的函数也必须接受对等数量的参数,最终返回的结果数量,以多个迭代对象中数量最少的那个为准。
它是Python的内置函数,在python文件中直接可以使用。

map

语法

map(function, iterable, ...)

参数

function - 指定的处理函数或方法 iterable - 一个或多个可迭代对象

返回值

一个包含所有返回值的迭代器

实例

§ 实例1 - 一个迭代对象
#计算周长,x为直径。
>>> def perimeter(x):
...     return "{:.2f}".format(x * 3.14)
...
#使用map()函数对列表的每个参数(直径)传入perimeter方法进行计算周长。
>>> m = map(perimeter, [2.5, 3.6, 5])
>>> list(m)
['7.85', '11.30', '15.70']
§ 实例2 - 多个迭代器

多个迭代器需要注意每个迭代器的长度,因为它会以最小的迭代器长度作为最终结果的长度,这有可能导致数据的丢失。最好是保持多个迭代器的长度是一致的,另外指定的函数也必须接受同等数量的参数,否则会报错。

#字符串拼接方法,接收了3个参数,所以在使用的必须传递3个可迭代对象。
>>> def join(x, y, z):
...     return x + y + z
...
#使用map()函数依次从每个迭代器中取一个值到join函数中进行拼接。
>>> m = map(join, ['1', '2', '3'], ['a', 'b', 'c'], ['#', '@'])
>>> list(m)

#从结果中可以看出,只组成了2个值,那是因为上面提到的,它会以最小长度的那个迭代对象的长度为准返回结果的数量。在这个例子就丢失了第1个参数中的‘3’和第2个参数中的‘c’两个数据。这可能会对后续的业务逻辑造成问题,在使用多个迭代器做为参数的时候,一定要注意每个的长度,除非有特殊的需求,最好是保持一致。
['1a#', '2b@']

如果有任何建议或意见,欢迎交流沟通

作者:张恺阳

本文链接:https://www.zky.name/article/50.html

来源:张恺阳博客