Python如何通过lambda和map配对两个列表

4 python lambda

例如,我有以下两个列表

listA = ['one','two','three'] listB = ['apple','cherry','watermelon']

我怎样才能将这两个列表配对以获得此输出,使用maplambda

one apple
two cherry
three watermelon
Run Code Online (Sandbox Code Playgroud)

我知道如何通过列表理解来做到这一点,

[print(listA[i], listB[i]) for i in range(len(listA))]
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚maplambda解决方案.有任何想法吗?

小智 12

在这里,我根据您的需求(地图和Lambda)得到了,

输入:

listA=['one', 'two' , 'three']
listB=['apple','cherry','watermelon']
list(map(lambda x, y: x+ ' ' +y, listA, listB))
Run Code Online (Sandbox Code Playgroud)

输出:

['one apple', 'two cherry', 'three watermelon']
Run Code Online (Sandbox Code Playgroud)


Dan*_*son 8

最简单的解决方案是简单地使用,zip如:

>>> listA=['one', 'two' , 'three']
>>> listB=['apple','cherry','watermelon']
>>> list(zip(listA, listB))
[('one', 'apple'), ('two', 'cherry'), ('three', 'watermelon')]
Run Code Online (Sandbox Code Playgroud)

我想有可能使用map和lambdas,但这将不必要地使事情复杂化,因为这真的是理想的情况zip.