2014-04-30 30 views
1

我有一個字典,需要它的值是2D列表。我無法將這些第二個值添加到鍵。我有兩個列表,第一個值列表,然後是由附加列表組成的鍵列表。爲鍵分配多個值?

到目前爲止,我有這樣的代碼:

for i in range(len(keyList)): 
     if keyList[i] in theInventory: 
      value = theInventory[keyList[i]] 
      value.append(valueList[i]) 
      theInventory[keyList[i]] = value 
     else: 
      theInventory[keyList[i]] = valueList[i] 

的問題是,輸出具有添加到列表中,然後在第一項的列表有我期待加入到我的字典清單。

像這樣:

[value, value, value, [list], [list]] 

如何讓我的第一個條目被輸入到字典作爲自己的名單?

+0

呃,當然是那麼簡單!非常感謝! – user3555238

回答

3

使用額外[]各地valueList[i]

theInventory[keyList[i]] = [valueList[i]] 
0

您可以簡化您的代碼如下所示。 append()方法突變列表,因此不需要將追加結果指定回theInventory。此外,根本不需要使用value,您可以直接將其附加到字典中的項目。

for i in range(len(keyList)): 
     if keyList[i] in theInventory: 
      theInventory[keyList[i]].append(valueList[i]) 
     else: 
      theInventory[keyList[i]] = [valueList[i]]