我有一个名字列表1:
["SAM","TOM","LOUIS"]
我有这样一个dict1(在值列表中没有重复的名称:
{"NICE": ["SAM", "MAIK", "CARL", "LAURA", "MARTH"],
"BAD": ["LOUIS", "TOM", "KEVIN"],
"GOOD": ["BILL", "JEN", "ALEX"]}
我如何遍历list1,以便在dict1的任何列表中出现任何名称时,它会为dict分配相应的键
我期待生成以下输出:
["NICE","BAD","BAD"]
对应于列表中出现的值的键:SAM,TOM,LOUIS
我就是这么想的:
lista=[]
for k,v in dict1:
for values in arr1:
if values in v:
lista.append(v)
lista
但是,我不知道如何迭代不同的v
,如何才能以有效的方式获得所需的输出
您可以创建一个中间dict,将名称映射到
dict1
中的键:因此,您可以使用以下方法将
list1
中的名称有效地映射到它们各自的键:返回:
我想您需要这里的
items()
字典函数。对于每个名称,遍历所有字典对,找到匹配项时停止,将相应的形容词添加到列表中有两种方法可以达到你的目的
您打算使用dict1.items()的方式。不幸的是,这种方法计算速度很慢,因此为了完整性,我将添加更有效的方法:
名称到形容词现在等于:
然后,您可以在一次运行中获得结果:
相关问题 更多 >
编程相关推荐