Skip to main content
 首页 » 编程设计

python之如何从字典元组中删除字典项

2025年05月04日9telwanggs

我有一个形式为字典的元组:

mylist = ({'a': 'a0',  't': 't0'}, {'a': 'a1',  't': 't1'}, {'a': 'a2',  't': 't2'}, ...) 

如何删除 for 循环中的字典?我尝试了以下但最后 doc 仍在元组中:

for doc in mylist: 
    if doc['a']=="a0": 
        del doc 

请您参考如下方法:

首先,不要使用名称list,你会隐藏内置列表。

元组是不可变的,因此您必须构建一个新的元组。

>>> t = ({'a': 'a0',  't': 't0'}, {'a': 'a1',  't': 't1'}, {'a': 'a2',  't': 't2'}) 
>>> tuple(d for d in t if d['a'] != 'a0') 
({'a': 'a1', 't': 't1'}, {'a': 'a2', 't': 't2'}) 

这假设您所有的词典实际上都有键 'a'。如果情况并非如此,请随意添加一些错误检查代码或使用字典的 get 方法,在生成器表达式中使用回退值。