条件付きブール論理による Python リスト置換
値のリストが与えられた場合、条件に基づいて特定の要素を選択的に None に置換したい場合があります。状態。関数condition() によって定義される条件は、その値に基づいて要素を置換するかどうかを決定できます。この質問では、Python でこの置換を実現するさまざまな方法を検討し、奇数の要素を置換する条件の例を示します。
解決策 1: リストの内包
最も効率的な方法この置換を実行するには、リスト内包表記を利用します。このアプローチでは、一致する要素を置換しながら元の順序を保持して新しいリストを生成します:
new_items = [x if x % 2 else None for x in items]
この例では、 2 で割り切れる要素 (偶数) は保持されますが、奇数は None に置き換えられます。
解決策 2: インプレース変更
あるいは、オリジナルリストを直接。ただし、このアプローチは効率がわずかに劣ります:
for index, item in enumerate(items):
if not (item % 2):
items[index] = None
このメソッドはリストを反復処理し、奇数番号の要素をその場で None に置き換えます。
時間計算量分析
どちらのソリューションも線形時間計算量が O(n) であり、リスト内の要素の数に比例して実行時間が増加することを示しています。
パフォーマンス ベンチマーク
パフォーマンスベンチマークでは、2 つのソリューション間の差異は無視できる程度であることが示されています。ただし、大きなリストの場合、リストの理解はわずかに速くなります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3