例如,我有以下两个列表
listA = ['one','two','three'] listB = ['apple','cherry','watermelon']
我怎样才能将这两个列表配对以获得此输出,使用map和lambda?
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)
但我无法弄清楚map和lambda解决方案.有任何想法吗?
小智 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)
最简单的解决方案是简单地使用,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.