我有两个列表
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
尝试:
def l_dict(l1, l2):
return dict(zip(l1, l2))
这是因为您需要为lambda函数(列表1和列表2)设置参数,但是lambda函数只能接受一个参数。除非您提供列表的压缩版本,否则无法在Python中执行此操作。