条件付きフィルタリングに基づく効率的なリストの分割
条件に基づいてリストを 2 つのサブリストに分割する必要性を考えてみましょう。単純なアプローチでは、サブリストごとに 1 回ずつ、リストを 2 回反復する必要があります。効率的でエレガントな代替手段を求めて、いくつかのオプションを検討します。
1 つのアプローチでは、リストを手動で反復し、条件チェックに基づいて各要素を適切なサブリストに動的に追加します。これは、以下のコードで示されています。
good, bad = [], [] for x in mylist: (bad, good)[x in goodvals].append(x)
このコードでは、(悪い、良い) 式は、goodvals の x のブール値に応じて悪いまたは良いのいずれかに評価されます。次に、選択したサブリストの append() メソッドが呼び出されて、現在の要素が追加されます。
複数の反復の必要性を排除し、簡潔なリスト内包表記を使用することにより、このアプローチでは、パフォーマンスとコードの読みやすさの両方の利点が得られます。反復実装。
以上が条件付きフィルターに基づいてリストを効率的に分割するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。