条件付きブール ロジックによる Python リスト置換
値のリストが与えられた場合、条件に基づいて特定の要素を選択的に None に置き換えることができます。状態。関数condition() によって定義される条件は、その値に基づいて要素を置換するかどうかを決定できます。この質問では、Python でこの置換を実現するさまざまな方法を検討し、奇数の要素を置換する条件の例を示します。
解決策 1: リストの内包
最も効率的な方法この置換を実行するには、リスト内包表記を利用します。このアプローチでは、一致する要素を置換しながら元の順序を保持した新しいリストが生成されます。
<code class="python">new_items = [x if x % 2 else None for x in items]</code>
この例では、2 で割り切れる要素 (偶数) は保持され、奇数は None に置き換えられます。
解決策 2: インプレース変更
または、元のリストを直接変更することもできます。ただし、このアプローチは効率が若干劣ります。
<code class="python">for index, item in enumerate(items): if not (item % 2): items[index] = None</code>
このメソッドはリストを反復処理し、奇数番号の要素をその場で None に置き換えます。
時間計算量解析
両方のソリューションの線形時間計算量は O(n) であり、リスト内の要素の数に比例して実行時間が増加することを示しています。
パフォーマンス ベンチマーク
パフォーマンス ベンチマークでは、2 つのソリューション間の差異はごくわずかであることが示されています。ただし、大きなリストの場合、リストの理解はわずかに速くなります。
以上が条件付きブール論理に基づいて Python リスト内の要素を置換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。