为键分配多个值?

时间:2014-04-30 04:02:25

标签: python list dictionary

我有一个字典,需要将其值作为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]]

如何将第一个条目作为自己的列表输入字典?

2 个答案:

答案 0 :(得分:3)

[]周围使用额外的valueList[i]

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

答案 1 :(得分: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]]