私は C プログラマーで、Python で何かを開発しています。C で次のことを実行する方法 (つまり、C のようなロジックを Python に適用する方法) はわかっていますが、それを「Python」で実行する方法は何なのか疑問に思っています。
辞書 d があり、キー (文字列) に特定の部分文字列が含まれる項目のみのサブセットを操作したいと考えています。
つまり、C ロジックは次のようになります。
for key in d:
if filter_string in key:
# do something
else
# do nothing, continue
Python版はこんな感じになると思います
filtered_dict = crazy_python_syntax(d, substring)
for key,value in filtered_dict.iteritems():
# do something
ここではフィルタリング辞書に関する投稿をたくさん見つけましたが、まさにこれに関する投稿は見つかりませんでした。
私の辞書はネストされておらず、Python 2.7を使用しています
ベストアンサー1
いかがでしょうか辞書の理解:
filtered_dict = {k:v for k,v in d.iteritems() if filter_string in k}
一度見れば、英語のように読めるので、説明は不要でしょう。
この構文には Python 2.7 以上が必要です。
Python 3では、dict.items()
次のようには使用しませんiteritems()
。
filtered_dict = {k:v for (k,v) in d.items() if filter_string in k}