Nar*_*oTv 1 python dictionary tuples list
我有一个形式的元组:
mylist = ({'a': 'a0', 't': 't0'}, {'a': 'a1', 't': 't1'}, {'a': 'a2', 't': 't2'}, ...)
Run Code Online (Sandbox Code Playgroud)
如何删除for循环中的dict?我试过以下但最后doc
还是在元组中:
for doc in mylist:
if doc['a']=="a0":
del doc
Run Code Online (Sandbox Code Playgroud)
首先,不要使用名称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'})
Run Code Online (Sandbox Code Playgroud)
这假设您的所有词典实际上都有密钥'a'
.如果不是这种情况,请随意添加一些错误检查代码,或者get
在生成器表达式中使用带有回退值的字典方法.