ホームページ >バックエンド開発 >Python チュートリアル >Python でリスト要素の同等性を効率的にチェックするにはどうすればよいですか?
Python には、リスト内のすべての要素が特定の条件を満たすかどうかをチェックする便利なメカニズムが用意されています。既存のアプローチでは、組み込み関数 all() を利用してこのタスクを効率的に実行します。さらに、別のコンテナのメンバーシップに関係する条件については、最適化されたソリューションが利用可能です。
リストのすべての要素が条件に一致するかどうかを確認する最も簡単かつ最速の方法all() 関数を使用することです。この関数は、シーケンス内のすべての要素に対して条件が当てはまるかどうかを評価します。たとえば、サブリストの最後の要素が 0 であるかどうかを確認するには、次のようにします。
import all my_list = [[1, 2, 3], [4, 5, 0], [7, 8, 0]] result = all(item[2] == 0 for item in my_list) print(result) # True
効率をさらに高めるために、ジェネレーター式を all() と組み合わせることができます。この組み合わせにより、リスト内の要素が遅延生成され、合理化された評価プロセスが提供されます。
result = all(flag == 0 for (_, _, flag) in my_list)
逆に、リストの少なくとも 1 つの要素があるかどうかを確認するには条件に一致する場合は、any() を使用できます。この関数は、シーケンス内の要素が条件を満たすかどうかを判断します。
result = any(flag == 0 for (_, _, flag) in my_list)
条件に基づいて要素をフィルタリングする必要があるシナリオでは、リスト内包表記が提供します。効果的な解決策:
filtered_list = [x for x in my_list if x[2] == 0]
この内包表記は、最後のサブリストが含まれるすべてのサブリストを抽出します。要素は 0 です。同様に、filter():
filtered_list = filter(lambda x: x[2] == 0, my_list)を使用できます。
以上がPython でリスト要素の同等性を効率的にチェックするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。