如何删除字典列表中的元素

6

我有一个字典,像这样:

inventory = {'gold' : 500, 
        'pouch' : ['flint', 'twine', 'gemstone'], 
        'backpack' : ['xylophone','dagger', 'bedroll','bread loaf']}

请问如何将其中的“dagger”去除?

我尝试了以下方法:

inventory["backpack"][1].remove()

或者

del inventory["backpack"][1]

但它出现了这个错误:
Traceback (most recent call last):
File "python", line 15, in <module>
TypeError: 'NoneType' object has no attribute '__getitem__'

del inventory["backpack"][1] 对我来说运行良好。 - Danstahr
这让我出现了以下错误:Traceback (most recent call last): File "python", line 15, in <module> TypeError: 'NoneType' object does not support item deletion - Sina
1个回答

1

inventory["backpack"][1].remove() - 在 inventory["backpack"][1] 上应用了 remove 方法,但其为字符串,没有 remove 属性。

您也可以使用切片来删除它-

inventory["backpack"] = inventory["backpack"][:1] + inventory["backpack"][2:]

或者 -
inventory["backpack"].remove(inventory["backpack"][1])

对于 `del inventory["backpack"][1]` 同样适用。您在列表对象上应用 del,但它没有这样的属性。

对我来说很明显的是 inventory['backpack'].remove('dagger') - coder.in.me

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接