リスト検証に複数の項目を組み込む
最初の質問は、指定されたリストの項目が存在するかどうかを確認する効率的な方法を見つけることを中心に展開します。別のリスト内で。この記事では、カスタム関数を使用するのではなく、このシナリオに対処するための代替アプローチを検討します。
アプローチ 1: リスト内包
以下に例示するように、リスト内包を使用できます。 2 番目のリストに存在する最初のリストの項目を分離するには:
L1 = [2, 3, 4] L2 = [1, 2] [i for i in L1 if i in L2]
この方法では、要素が含まれている場合はブール値 True を持つ、一致する項目のリストが生成されます。指定された例では、[2] が返されます。
アプローチ 2: 交差の設定
あるいは、より効率的なリスト比較のためにセットを使用することもできます。各リストをセットに変換すると、それらの共通部分は次のように見つけることができます。
S1 = set(L1) S2 = set(L2) S1.intersection(S2)
リスト内包と同様に、2 つのセットの共通部分には一致する要素のみが含まれます。空集合は False と評価されるため、交差の結果を真理値として直接使用できます。
論理評価の考慮事項
いずれのアプローチでも、一致する項目があれば True を返すのに十分です。したがって、この方法は、すべての項目が存在する必要があるシナリオには適していない可能性があります。
以上があるリストの項目が別のリストに存在するかどうかを確認するより効率的な方法はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。