Python-在字典中添加值
这是我的密码:Python-在字典中添加值,python,list,dictionary,Python,List,Dictionary,这是我的密码: inv = {'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1} def display_inventory(inventory): #inv = {'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1} print("Inventory:") for key, value in inv.items(): print value
inv = {'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1}
def display_inventory(inventory):
#inv = {'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1}
print("Inventory:")
for key, value in inv.items():
print value, key
print("")
print "Number of items is: ",
print (sum(inv.values())),
def add_to_inventory(inventory, added_items):
dragon_loot_dict = dict.fromkeys(added_items, 1)
#print(dragon_loot_dict)
inventory=dict(inventory.items()+ dragon_loot_dict.items())
print(inventory)
dragon_loot = ['gold coin', ' dagger', 'gold coin', 'gold coin', 'ruby']
add_to_inventory(inv, dragon_loot)
我刚开始学习Python。当我将怪物的战利品添加到我的主库存时,主库存中的值将变为怪物库存中的值
我如何添加相同物品的价值,例如,
金币?您可以迭代战利品并增加库存中的钥匙
inv = {'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1}
dragon_loot = ['gold coin', ' dagger', 'gold coin', 'gold coin', 'ruby']
def add_to_inventory(inventory, items):
for item in items:
# get count of item in inventory, or 0 if item is not in inventory
item_count = inventory.get(item, 0)
# update item count in inventory
inventory[item] = item_count + 1
print(inventory)
add_to_inventory(inv, dragon_loot)
结果:
#inv = {'rope': 1, 'torch': 6, 'gold coin': 45, 'dagger': 2, 'ruby':1}
您可以遍历dragon\u loot\u dict
中的项目,并将值添加到inventory
中的相应键中。使用dict.setdefault
初始化密钥,以防库存中还没有此类密钥
更改:
inventory=dict(inventory.items()+ dragon_loot_dict.items())
致:
for k, v in dragon_loot_dict.items():
inventory[k] = inventory.setdefault(k, int) + v