条件関数を使用した辞書のフィルタリング
Python 辞書はデータ操作タスクで広く使用されており、情報に基づいて保存および取得する強力な方法を提供します。キーについて。ただし、特定の基準に基づいて辞書の内容のサブセットを抽出する必要がある状況が発生する場合があります。辞書をフィルタリングして、x 座標と y 座標が両方とも 5 未満である点を選択する例を見てみましょう。
オリジナルのアプローチ
考えられる 1 つのアプローチには、反復処理が含まれます。辞書項目を巡回して各点の座標を確認し、条件に合うものを選択します。このアプローチは簡単ではありますが、冗長でエラーが発生しやすい可能性があります。
points = {'a': (3, 4), 'b': (1, 2), 'c': (5, 5), 'd': (3, 3)} points_small = {} for item in [i for i in points.items() if i[1][0] < 5 and i[1][1] < 5]: points_small[item[0]] = item[1]
エレガントなソリューション
Python は、辞書内包表記を使用した、より洗練されたソリューションを提供します。辞書内包表記を使用すると、次の構文を使用して、指定された条件に基づいて新しい辞書を作成できます。この例では、次の構文を使用してフィルタリングされた辞書を作成できます。
{k: v for k, v in points.items() if v[0] < 5 and v[1] < 5}
Python 2 互換性
Python 2 では、 iteritems() メソッドが使用されます。 items() の代わりに。 Python 2 のコードは次のようになります。
{k: v for k, v in points.iteritems() if v[0] < 5 and v[1] < 5}
このコンパクトで表現力豊かな構文により、辞書の操作や条件に基づいた特定のデータの抽出が簡単になります。 Python の辞書内包表記は、辞書の内容を効率的かつ簡潔にフィルタリングおよび変換するための強力なツールを提供します。
以上がPython で条件関数を使用して辞書をフィルタリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。