当您模拟更复杂的事情时,您可能会发现需要包含其他字典和列表的字典和列表。列表可用于包含一系列有序的值,并且字典对于将键与值相关联很有用。例如,这是一个使用包含其他字典的字典的程序,以查看谁带来了野餐。该totalBrought()功能可以读取此数据结构,并计算所有客人所携带的物品的总数。
提示:应用到字典中嵌套字典,get()获取。
源代码:
allGuests = {'Alice': {'apples': 5, 'pretzels': 12},
'Bob': {'ham sandwiches': 3, 'apples': 2},
'Carol': {'cups': 3, 'apple pies': 1}}
def totalBrought(guests, item):
numBrought = 0
for k, v in guests.items():
numBrought = numBrought + v.get(item, 0)
return numBrought
print('Number of things being brought:')
print(' - Apples :' + str(totalBrought(allGuests, 'apples')))
print(' - Cups :' + str(totalBrought(allGuests, 'cups')))
print(' - Cakes :' + str(totalBrought(allGuests, 'cakes')))
print(' - Ham Sandwiches :' + str(totalBrought(allGuests, 'ham sandwiches')))
print(' - Apple Pies :' + str(totalBrought(allGuests, 'apple pies')))
输入结果:
Number of things being brought:
- Apples :7
- Cups :3
- Cakes :0
- Ham Sandwiches :3
- Apple Pies :1