2013-09-06 12 views
5

Bu kod kötü değil, ama iyi programcılar kullanabilirsiniz koduBir sözlükte bir değeri pythonically olarak nasıl ayarlayabilirim?

if count.get('a') is None: 
    count['a'] = 0 
+1

Ne kasten ' 'a'' değeri olarak' None' koyarsanız:in anahtar kelime kullanıyor? –

+0

Bence Pythonic, sözlüklerdeki anahtarların değerlerini 'Yok' olarak ayarlamaktır. Çünkü eğer yaparsanız, o zaman gereksiz hatalara ve karışıklığa neden olabilecek '' (none) 'un get() 'inin dönüş değeriyle örtüşebilir. Değeri "0" ya da sıfır gibi olmayan, sıfır olmayan bir çeşit dummy sınıfına ayarlamak daha iyidir. – Shashank

+0

Bunu açıklığa kavuşturmak için: ['a'] sayısı aslında "Yok" sayılırken veya ['a'] sayımı tanımlanmadığında durumu hesaba katmak ister misiniz? Ya da her ikisi de? –

cevap

18

yazacak nasıl bilmek istiyorum dict.setdefault:

count.setdefault('a', 0) 

yardım dict.setdefault tarih:

>>> print dict.setdefault.__doc__ 
D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D 
5

setdefault en iyi yanıttır, ancak kayıt için,numaralı anahtardaki bir anahtarı denetlemenin Pythonic yolu

if 'a' not in count: 
    count['a'] = 0 
İlgili konular