辞書から空の文字列を持つキーを削除する効率的な方法 質問する

辞書から空の文字列を持つキーを削除する効率的な方法 質問する

辞書があり、空の値文字列があるすべてのキーを削除したいと思います。

metadata = {u'Composite:PreviewImage': u'(Binary data 101973 bytes)',
            u'EXIF:CFAPattern2': u''}

これを行う最善の方法は何ですか?

ベストアンサー1

Python 2.X

dict((k, v) for k, v in metadata.iteritems() if v)

Python 2.7 - 3.X

{k: v for k, v in metadata.items() if v}

すべてのキーに値があることに注意してください。ただし、値の一部は空の文字列です。辞書には値のないキーは存在しません。値がない場合は、辞書には存在しません。

おすすめ記事