2009-08-26 19 views
8

初心者からPythonまで、これはばかげているかもしれません。削除しないPython dictの値

私は2枚のdicts持っている:私は、ユーザーに存在した値との私のデフォルト値を更新する必要が

default = {'a': 'alpha', 'b': 'beta', 'g': 'Gamma'} 
user = {'a': 'NewAlpha', 'b': None} 

を。しかし、Noneと等しくない値を持つものに対してのみ。 update()方法で

result = {'a': 'NewAlpha', 'b': 'beta', 'g': 'Gamma'} 

答えて

18
result = default.copy() 
result.update((k, v) for k, v in user.iteritems() if v is not None) 
+1

とPython 3での) – Ayman

7

、およびいくつかのジェネレータ式:だから私は、新しい辞書戻って取得する必要があります(user.itemsを使用し、

D.update((k, v) for k, v in user.iteritems() if v is not None) 
関連する問題