我有一本字典,其中包含不同数量的项目的值列表。我想将此字典 (dict1) 的值与另一个 (dict2) 的键进行比较,如果它们匹配,则打印 dict1 匹配组件的键和值,以及 dict2 的值。这两个字典都非常大,目前这花费的时间太长了,正如您可以从这个基本脚本中猜到的那样。
dict1 = {boys:[tom,jon],girls:[suzy]}
dict2 = {suzy:paper-stapler-extraordinaire,jon:paper-shredderoligist,tom:garbage-specialist}
输出:
boys \t tom \t garbage-specialist
boys \t jon \t paper-shredderoligist etc.....
for k,v in dict2.items():
for key,value in dict1.items():
if k in value[0]:
print str(key)+"\t"+str(value[0])+"\t"+v
if len(value)>1:
if k in value[1]:
print str(key)+"\t"+str(value[0])+"\t"+v
有人可以建议一种更有效的内存方法吗?也许是列表理解?这一直不起作用... a = [k for k in dict2 if k in dict]