2016-09-22 55 views
0

我一直髮現字典在Python中是一件奇怪的事情。我知道這只是我,我敢肯定,但我無法弄清楚如何將兩個列表添加到字典中。如果兩個列表都可以應對,那麼就不會像dictionary = dict(zip(list1, list2))這樣的問題。但是,在每次運行期間,list1將始終有一個項目,list2可能有多個項目或單個項目,我希望將其作爲值。將兩個異步列表添加到字典中

我該如何處理添加密鑰和可能的多個值?

一番商議後,Kasramvd的第二個選擇似乎也爲這種情況的工作:基於

dictionary.setdefault(list1[0], []).append(list2)

+2

潛在鑰匙是什麼樣的?你可以顯示一些代碼 –

+0

即時解析一些xml和每個關鍵識別潛在的多個值將被發現,但總是會有1個關鍵一次。 – iNoob

+0

你想將兩者都擴展到一個列表中嗎?你需要添加一些輸入和預期的輸出,因爲它不清楚你想要什麼。 –

回答

2

您的評論所有你需要的是給第二列表作爲值第一個列表的唯一項目。

d = {} 
d[list1[0]] = list2 

如果你想保留對重複鍵的值,你可以以創建列表重複鍵列表的價值使用dict.setdefault()

d = {} 
d.setdefault(list1[0], []).append(list2) 
+0

這似乎並沒有添加'list2'中的所有項目。不適當修改我的問題以包含上述內容和結果。 – iNoob

+0

好吧,你的第二個選擇似乎已經完成了。第一個沒有按預期工作,只在第二個列表中添加了第一個im。 – iNoob