python中map是什么意思-Python教程

资源魔 36 0

python中map是甚么意义?

map函数的原型是map(function, iterable, …),它的前往后果是一个列表。

参数function传的是一个函数名,能够是python内置的,也能够是自界说的。

参数iterable传的是一个能够迭代的工具,例如列表,元组,字符串这样的。

这个函数的意义就是将function使用于iterable的每个元素,后果以列表的方式前往。留意到不,iterable前面另有省略号,意义就是能够传不少个iterable,假如有额定的iterable参数,并行的从这些参数中取元素,并挪用function。假如一个iterable参数比另外的iterable参数要短,将以None扩大该参数元素。仍是看例子来了解吧!

a=(1,2,3,4,5)
b=[1,2,3,4,5]
c="zhangkang"
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']
['z', 'h', 'a', 'n', 'g', 'k', 'a', 'n', 'g']

str()是python的内置函数,这个例子是把列表/元组/字符串的每一个元素变为了str类型,而后以列表的方式前往。当然咱们也能够传入自界说的函数,看上面的例子。

def mul(x):
    return x*x
n=[1,2,3,4,5]
res=map(mul,n)

输入:[1, 4, 9, 16, 25]

把列表n中的每一个元素运转一次mul函数后失去的后果作为终极后果列表的元素。再看下有多个iterable参数的状况。

def add(x,y,z):
    return x+y+z
list1=[1,2,3]
list2=[1,2,3]
list3=[1,2,3]
res=map(add,list1,list2,list3)
print(res)

输入:[3, 6, 9]

并行的从三个列表中各自掏出元素而后运转add函数,有人可能会问,假如三个列表长度纷歧样怎样办,后面曾经说了,关于短的阿谁iterable参数会用None填补。关于下面的例子,假如list3=[1,2]的话,那末这个顺序会报错,由于尽管正在运转add函数的时分列表list3的最初一个元素会用None填补,然而None以及int类型的数是不克不及相加的。也就是说,除了非参数function支持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)]

相干保举:《Python教程》

以上就是python中map是甚么意义的具体内容,更多请存眷资源魔其它相干文章!

标签: Python python教程 python编程 python使用问题 map

抱歉,评论功能暂时关闭!