1.map函数
(1)map函数的第一个参数 function,接受一个可执行的函数或者None,之后可以接受一个或多个sequence(序列:包括元组、列表、字符串、字典等)作为参数。
(2)无论sequence接受什么样的序列作为参数,都会返回一个列表(List)。
(3)如果function是None,那么就用缺省的function
① 结果只有一个sequence,最终结果的List的每一项是sequence的每一项。
② 如果不止一个sequence,那么所有sequence同一下标的项会组成一个元组作为最终返回结果List的一项。
例如:
>>> li1=[1,2,3]
>>> li2=[4,5,6]
>>> map(None,li1,li2)
[(1, 4), (2, 5), (3, 6)]
>>> li1=[1,2,3]
>>> map(None,li1)
[1, 2, 3]
(3)如果function是一个可执行的函数,function的参数个数必须与sequence个数相同,将每一个sequence的项作为function的参数,依次执行function函数,返回值作为map最终返回值list的一项。例如:
① 如果sequence只有一个:
>>> li=[1,2,3]
>>> map(lambda x: x*2,li)
[2, 4, 6]
② 如果sequence不止一个
>>> li1=[1,2,3]
>>> li2=[4,5,6]
>>> map(lambda x,y : x+y,li1,li2)
[5, 7, 9]
③ 如果sequence不止一个,且sequence的长度不一样,那么就会用None来补齐
>>> li1=[1,2,3]
>>> li2=[4,5,6,7]
>>> map(None,li1,li2)
[(1, 4), (2, 5), (3, 6), (None, 7)]
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于