Skip to main content
 首页 » 编程设计

python之键和列表的字典之如果列表中的任何值都为空,则删除键

2025年05月04日10myhome

我有以下格式的字典,

mydict =  
 
{ a: [1, 2], 
  b: [2, 2], 
  c: [1, 0], 
  d: [1, 1] 
} 

如果任何值为None

{ a: [1, None], 
  b: [2, 2], 
  c: [1, 0], 
  d: [1, 1] 
} 

我想删除那个 key:value 对。

输出应该是

    { 
      b: [2, 2], 
      c: [1, 0], 
      d: [1, 1] 
    } 

我是这样打印的,

for key, values in mydict.items(): 
    print key, values 
    . 
    . 
    . 

我想删除 None 而不在我的 for 循环中开始一个新循环,所以我尝试了这个,

我试过了,

for key, values in mydict.items() if values.items is not None: 

但它一直给我无效的语法错误,

SyntaxError: invalid syntax 

请您参考如下方法:

使用字典理解:

d = { 'a': [1, None], 
      'b': [2, 2], 
      'c': [1, 0], 
      'd': [1, 1] } 
 
print({k:v for k, v in d.items() if None not in v}) 
# {'b': [2, 2], 'c': [1, 0], 'd': [1, 1]} 

如果您需要像您这样的循环:

for key, value in d.items(): 
    if None not in value: 
        print(key, value) 
        # do your calculations here