我有一个列表和一个字典。我想将列表值与字典的键进行比较。如果我有:
mydict = {'Hello':1,'Hi':2,'Hey':3}
和
mylist = ['Hey','What\'s up','Hello']
我希望输出为:
output = [3, None, 1]
谢谢!
我尝试了[mydict[i] for i in mylist]
,但我得到的是错误,而不是无。然后我尝试使用嵌套for循环(我删除了那个位),但我认为这是低效的。
答案 0 :(得分:3)
output = [ mydict.get(key) for key in mylist ]
请注意,如果密钥不在dict中,dict.get会返回None
。
答案 1 :(得分:2)
使用dict.get()
,如果密钥不存在,则默认为None
:
[mydict.get(k) for k in mylist]
>>> mydict = {'Hello':1,'Hi':2,'Hey':3}
>>> mylist = ['Hey','What\'s up','Hello']
>>> out = [mydict.get(k) for k in mylist]
>>> out
[3, None, 1]