2016-08-17 69 views
-1

我有一個列表和一個字典。我想比較列表值與字典的鍵。如果我有:將列表與字典進行比較以在python中創建新列表

mydict = {'Hello':1,'Hi':2,'Hey':3} 

和:

mylist = ['Hey','What\'s up','Hello'] 

我所要的輸出是:

output = [3, None, 1] 

謝謝!

我試過[mydict[i] for i in mylist],我得到一個錯誤而不是無。然後我嘗試使用嵌套for循環(我刪除了那一點),但我認爲這是效率低下。

+1

你嘗試過什麼?在這個網站上,您需要向我們展示您的嘗試代碼,並說明爲什麼您的代碼無法滿足您的需求。 –

+1

我試過'[mydict [i]因爲我在mylist]',而我得到一個錯誤而不是'None'。然後我嘗試使用嵌套for循環(我刪除了那一點),但我認爲這是效率低下。 –

回答

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]