Python的map方法的应用

Map方法,第一个参数要写一个匿名函数表达式,或者是一个函数引用,第二个第三个往后都是表达式用到的参数,参数一般是可迭代的

1、比如下面这个map方法,两个参数,第一个 lambda x: x*x是匿名函数表达式,实现列表中的数字的平方,依次从第二个参数列表【1,2,3】中取出赋值给x,执行x*x,输出结果:[1, 4, 9]

    a = map(lambda x: x*x, [1,2,3])
    print(list(a))

2、下面这个map方法,实现了将两个列表一样下标的值相加,非常简单,三个参数,后面两个参数【1,2,3】依次赋值给x,第三个参数【4,5,6】依次赋值给y,

结果:[5, 7, 9]
    b = map(lambda x, y: x+y, [1, 2, 3], [4, 5, 6])
    print(list(b))

3、map第一个参数也不是必须匿名函数,可以事先定义一个函数,不使用匿名函数,函数体有两个参数,将test这个函数,和l1,l2传给map方法,结果:[(1, 'sun'), (2, 'mon'), (3, 'tue'), (4, 'wen'), (5, 'thu'), (6, 'fri'), (7, 'sta')]

下面实现两个列表,分别取一样下标的值放到一个元组中,形成一个新的列表:

def test(x, y):
    return (x, y)

l1 = [1, 2, 3, 4, 5, 6, 7]
l2 = ['sun', 'mon', 'tue','wen','thu','fri','sta']


c = map(test, l1, l2)
print(list(c))

原文地址:https://www.cnblogs.com/sy_test/p/12054082.html