Home > Article > Backend Development > How to Replace Elements in a Python List Based on Conditional Boolean Logic?
Python List Replacement with Conditional Boolean Logic
Given a list of values, you may desire to selectively replace specific elements with None based on a condition. The condition, defined by a function condition(), can determine whether to replace an element based on its value. This question explores different ways to achieve this replacement in Python while providing an example condition that replaces odd-numbered elements.
Solution 1: List Comprehension
The most efficient way to perform this replacement is to utilize a list comprehension. This approach generates a new list, preserving the original order while replacing matching elements:
<code class="python">new_items = [x if x % 2 else None for x in items]</code>
In this example, elements divisible by 2 (even numbers) are retained, while odd numbers are replaced with None.
Solution 2: In-Place Modification
Alternatively, you can modify the original list directly. However, this approach is marginally less efficient:
<code class="python">for index, item in enumerate(items): if not (item % 2): items[index] = None</code>
This method iterates over the list and replaces odd-numbered elements with None in-place.
Time Complexity Analysis
Both solutions have a linear time complexity of O(n), indicating that their runtime increases proportionally with the number of elements in the list.
Performance Benchmarks
Performance benchmarks show negligible differences between the two solutions. However, for large lists, list comprehension is slightly faster.
The above is the detailed content of How to Replace Elements in a Python List Based on Conditional Boolean Logic?. For more information, please follow other related articles on the PHP Chinese website!