Pythonの辞書から値がNoneであるキーを削除する

Ruby では Hash#reject を使えば簡単にできるのに、Python には使えそうなメソッドが見当たらない。

>>> def delete_if_none(dic):
...     for k, v in dic.items():
...         if v is None:
...             del(dic[k])
...     return dic
... 
>>> dic
{'a': 'Andy', 'c': 'Charlie', 'b': None}
>>> dic2 = delete_if_none(dic)
>>> dic2
{'a': 'Andy', 'c': 'Charlie'}
>>> dic
{'a': 'Andy', 'c': 'Charlie'}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください