如何删除字典列表项[重复]

Posted

技术标签:

【中文标题】如何删除字典列表项[重复]【英文标题】:How to delete a dictionary list items [duplicate] 【发布时间】:2013-10-29 23:36:40 【问题描述】:

我有一本这样的字典:

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

我怎样才能从中取出匕首?

我试过了:

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] 适合我。 这让我出现了这个错误:Traceback(最近一次调用最后一次):文件“python”,第 15 行,在 类型错误:'NoneType' 对象不支持删除项目 【参考方案1】:

inventory["backpack"][1].remove() - 在 inventory["backpack"][1] 上应用 remove,它是一个字符串,没有 remove 属性。

你也可以使用 slice 来删除它-

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

或 -

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

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

【讨论】:

对我来说很明显是inventory['backpack'].remove('dagger')

以上是关于如何删除字典列表项[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从字典中的列表中删除元素[重复]

如何使用列表理解从列表中删除重复项? [复制]

删除python中字典值的重复项

如何从我的列表中删除重复项? [复制]

如何从Java列表中删除重复项

如何从列表 Dart 中删除重复项 |扑