如何清除值等于变量的字典

时间:2019-06-20 15:39:16

标签: python loops dictionary

我有一个由多个键组成的字典。 Is是通过循环创建的,因此开始时生成的键没有值,但是稍后再填充。 有时,键没有填满,所以我想将其从字典中删除

字典如下:

{'a' : [1,2,3,4] , 'b' : [5,6,7,8] ,'c': [] ,'d': [9,10,11]}

我可能有多个看起来像'c'的值 我已经尝试过try / except,但仍然得到“字典在迭代过程中更改了大小”

d= {'a' : [1,2,3,4] , 'b' : [5,6,7,8] ,'c': [] ,'d': [9,10,11]}
dic_key = d.keys()
for key in dic_key:
         try:
             if len(d[key]) == 0:
                    del d[key]
         except:
             pass

“字典在迭代过程中更改了大小”

1 个答案:

答案 0 :(得分:1)

使用dict comprehension

尝试一下:

d = {k:v for k,v in d.items() if len(v)}