2013-09-06 13 views
5

このコードは悪くないですが、私は良いプログラマはあなたが使用できるコード辞書に値がない場合は、どのようにして値をPythonで設定しますか?

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

'' a''の値として意図的に '' None'を指定するとどうなりますか? –

+0

辞書のキーの値を 'None'に設定するのはPythonではないと思います。なぜなら、そうすると 'get()'が 'None'の戻り値と重なり、不必要なバグや混乱の原因となるからです。値を '0'またはゼロのようなnon-Noneダミーのクラスに設定する方が良いでしょう。 – Shashank

+0

これを明確にするには:count ['a]]が実際に 'None'の場合、またはcount [' a ']が定義されていない場合を考慮しますか?または両方? –

答えて

18

を書き込みます方法を知りたいdict.setdefault

count.setdefault('a', 0) 

ヘルプdict.setdefault上:

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

setdefaultが最善の答えですが、記録のために、で鍵をチェックするPythonの方法3210はinというキーワードを使用しています:

if 'a' not in count: 
    count['a'] = 0 
関連する問題