ホームページ >バックエンド開発 >Python チュートリアル >条件付きフィルターに基づいてリストを効率的に分割するにはどうすればよいでしょうか?

条件付きフィルターに基づいてリストを効率的に分割するにはどうすればよいでしょうか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-03 15:58:15573ブラウズ

How Can We Efficiently Partition a List Based on a Conditional Filter?

条件付きフィルタリングに基づく効率的なリストの分割

条件に基づいてリストを 2 つのサブリストに分割する必要性を考えてみましょう。単純なアプローチでは、サブリストごとに 1 回ずつ、リストを 2 回反復する必要があります。効率的でエレガントな代替手段を求めて、いくつかのオプションを検討します。

1 つのアプローチでは、リストを手動で反復し、条件チェックに基づいて各要素を適切なサブリストに動的に追加します。これは、以下のコードで示されています。

good, bad = [], []
for x in mylist:
    (bad, good)[x in goodvals].append(x)

このコードでは、(悪い、良い) 式は、goodvals の x のブール値に応じて悪いまたは良いのいずれかに評価されます。次に、選択したサブリストの append() メソッドが呼び出されて、現在の要素が追加されます。

複数の反復の必要性を排除し、簡潔なリスト内包表記を使用することにより、このアプローチでは、パフォーマンスとコードの読みやすさの両方の利点が得られます。反復実装。

以上が条件付きフィルターに基づいてリストを効率的に分割するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。