我正在为一个函数编写示例代码,该函数将向字典添加项目列表。问题是,在 for 循环结束时,背包字典变成了 NoneType 对象。为什么会这样,我该如何阻止我的字典变成空白?
def addToInventory(inventory, addedItems):
for i in addedItems:
inventory.setdefault(i, 0)
inventory[i] += 1
backpack = {'gold coin': 42, 'rope': 1}
dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']
backpack = addToInventory(backpack, dragonLoot)
print(type(inv))
最佳答案
您的函数会就地修改 backpack
对象,然后返回 None
(因为它没有显式的 return 语句)。因此,不要分配结果:
backpack = addToInventory(backpack, dragonLoot)
您应该只调用该函数而不将结果分配回。 背包
将就地更改:
addToInventory(backpack, dragonLoot)
关于python - 字典在 for 循环结束时变为 NoneType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32674469/