在字典中引用列表中的集合的值

时间:2016-11-30 02:13:10

标签: python

假设我有一个列表字典,每个列表元素都是一个集合。

示例:

from collections import defaultdict

shoppingList = defaultdict(list)

shoppingList["produce"].append( {"carrot",4} )
shoppingList["produce"].append( {"lettuce",2} )
shoppingList["produce"].append( {"tomato",2} )
shoppingList["dairy"].append( {"eggs",12} )

我如何引用单个集合的值?

例如,如果我想特别打印出我需要多少个鸡蛋(在{"鸡蛋" 12}中存储为值" 12")而不知道在哪里在列表中设置了关键" eggs"被储存了?或者,如果我想编辑鸡蛋的数量?

1 个答案:

答案 0 :(得分:1)

不使用包含集合的列表字典,而只使用嵌套字典,这将使访问和更新变得微不足道:

from collections import defaultdict

shoppingList = defaultdict(dict)

shoppingList["produce"]["carrot"] = 4
shoppingList["produce"]["lettuce"] = 2
shoppingList["produce"]["tomato"] = 2
shoppingList["dairy"]["eggs"] = 12

print(shoppingList["dairy"]["eggs"]) # 12

shoppingList["dairy"]["eggs"] += 2
print(shoppingList["dairy"]["eggs"]) # 14