如何使用lambda函数合并两个列表

问题描述 投票:0回答:1

我有两个列表

names = ['Bruce', 'Clark', 'Peter', 'Logan', 'Wade']
heroes = ['Batman', 'Superman', 'Spiderman', 'Wolverine', 'Deadpool']

从这些列表中,我希望每个字母都使用{'name':'hero'}的字典,使用lambda函数的英雄。这是我想要的输出:

{'Bruce': 'Batman', 'Clark': 'Superman', 'Peter': 'Spiderman', 'Logan': 'Wolverine', 'Wade': 'Deadpool'}

我有下面的代码可以工作,但是当我尝试使用lambda函数将其放在一起时,却没有得到预期的结果。这是使用字典理解的代码

dc_dict = {name: hero for name, hero in zip(names, heroes)}
print(dc_dict)

我正在尝试使用lambda函数复制上述逻辑,但无法正常工作。这是我想出的。

l_dict = dict(lambda names[name]:heroes[hero] for (name, hero) in zip(names, heroes))
print(l_dict)

TIA

python python-3.x dictionary lambda dictionary-comprehension
1个回答
0
投票

尝试:

def l_dict(l1, l2):
    return dict(zip(l1, l2))

这是因为您需要为lambda函数(列表1和列表2)设置参数,但是lambda函数只能接受一个参数。除非您提供列表的压缩版本,否则无法在Python中执行此操作。

© www.soinside.com 2019 - 2024. All rights reserved.