假设我有dict={'a':1,'b':2'},还有一个list=['a','b',c','d','e']。目标是将list元素添加到字典中,并打印出新的dict值以及这些值的总和。应该看起来像:
2 a
3 b
1 c
1 d
1 e
Total number of items: 8
相反,我得到:
1 a
2 b
1 c
1 d
1 e
Total number of items: 6
到目前为止我所拥有的:
def addToInventory(inventory, addedItems)
for items in list():
dict.setdefault(item, [])
def displayInventory(inventory):
print('Inventory:')
item_count = 0
for k, v in inventory.items():
print(str(v) + ' ' + k)
item_count += int(v)
print('Total number of items: ' + str(item_count))
newInventory=addToInventory(dict, list)
displayInventory(dict)
任何帮助都将不胜感激!
关于“幻想游戏清单的列表到字典功能”的问题-第5章。用Python自动化那些无聊的东西。
另一种方式:
使用集合模块:
您只需迭代列表,并根据已经存在的键增加计数,否则将其设置为1。
您可以用^{} 简洁地编写相同的内容,如下所示
dict.get
函数将查找键,如果找到它,它将返回值,否则将返回您在第二个参数中传递的值。如果item
已经是字典的一部分,那么将返回与之相对的数字,我们将1
添加到该数字中,并将其存储回与相同的item
相对的位置。如果找不到它,我们将得到0(第二个参数),并向它添加1,并将其存储在item
上。现在,为了得到总计数,您可以使用
sum
函数将字典中的所有值相加,如下所示^{} 函数将返回字典中所有值的视图。在我们的例子中,它是数字,我们只是用
sum
函数将它们全部相加。相关问题 更多 >
编程相关推荐