map¶
map(function, iterable, *iterables)
将iterable中的每一个元素传入到function函数中,返回每一个结果组成的的迭代器。iterable的数量最少必须与function必选参数的数量相同,最多不超过function所有可选参数的数量,传入顺序同参数顺序,注意传入参数的类型,输出结果长度以最短的iterable为准。
l1 = [1, 2, 3, 4, 5]
l2 = [3, 4, 5, 6, 7, 8, 9]
i1 = map(str, l1)
print(i1)
"""
<map object at 0x000002B5731FC640>
"""
print(list(i1))
"""
['1', '2', '3', '4', '5']
"""
i2 = map(pow, l1, l2)
print(list(i2))
"""
[1, 16, 243, 4096, 78125]
"""
function含有2个及以上必选参数时,也可使用标准库函数itertools.starmap(function, iterable),该函数只能传入一个iterable,所以iterable的元素长度最少必须与function必选参数的数量相同,最多不超过function所有可选参数的数量
import itertools
i3 = itertools.starmap(pow, [(1, 3), (2, 4), (3, 5), (4, 6), (5, 7)])
print(list(i3))
"""
[1, 16, 243, 4096, 78125]
"""