Python での条件に基づくリスト内の値の置換
Python では、オブジェクト内の要素を操作する必要があるシナリオが発生する場合があります。特定の条件に基づいて値を置換するなどのリスト。効率的な手法を活用することで、これらの変更を効果的に実行できます。
1 つの方法には、リスト内包表記の利用が含まれます。たとえば、リスト [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] があり、2 の法が 0 に等しい要素を置換したい場合は、次の内包表記を使用できます。 :
new_items = [x if x % 2 else None for x in items]
この内包表記は、各要素が条件 (x % 2) に対してチェックされる新しいリストを作成します。条件が False の場合、元の値 (x) が保持されます。それ以外の場合、要素は None に置き換えられます。
または、for ループを使用してその場でリストを変更することもできます。
for index, item in enumerate(items): if not (item % 2): items[index] = None
このソリューションはリストを反復処理し、条件を満たす要素を特定します。
時間計算量分析では、両方のアプローチでほぼ同じ時間がかかることが示されています。 Python 3.6.3 では、リストの内包は速度の点で for ループよりわずかに優れていますが、Python 2.7.6 ではパフォーマンスは同等です。
したがって、リストベースの値を置換する最も効率的な方法は、条件としては、明確かつ簡潔な方法で目的の結果が得られるリスト内包表記を使用することです。この手法は、必要な操作の数を最小限に抑えることができるため、大きなリストを扱う場合に特に役立ちます。
以上がPython で条件に基づいてリスト内の値を置き換える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。