2014-06-30 11 views
6

Python'da bir özelliğin mülkünü silmek için kolay bir yol var mıdır, söz konusu özellik mevcut olmayabiliyorsa mümkün mü? del ifadesi kullanılırsaPython'daki bir sözlüğün bir özelliği silinen veya bulunamayan bir özellik silme

, bir KeyError sonucudur: deyimi ise

a = {} 
del a['foo'] 
>>>KeyError: 'foo' 

Onun biraz uzun bir kullanma ve iki kez 'foo' ve a yazmak zorunda:

a = {} 
if 'foo' in a: 
    del a['foo'] 

dict.get()'a benzer bir özellik arıyorsanız, özellik mevcut değilse None değerini girin:

a = {} 
a.get('foo') # Returns None, does not raise error 

cevap

9

anahtar yoksa Getirilecek Eğer varsayılan bir değer belirlemenizi sağlar dict.pop, kullanabilirsiniz:

>>> d = {1:1, 2:2} 
>>> d.pop(1, None) 
1 
>>> d 
{2: 2} 
>>> d.pop(3, None) # No error is thrown 
>>> d 
{2: 2} 
>>> 
İlgili konular