使用条件布尔逻辑替换 Python 列表
给定一个值列表,您可能希望根据健康)状况。条件由函数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),这表明它们的运行时间随着列表中元素的数量成比例地增加。
性能基准
性能基准显示两种解决方案之间的差异可以忽略不计。然而,对于大型列表,列表理解会稍微快一些。
以上是如何根据条件布尔逻辑替换Python列表中的元素?的详细内容。更多信息请关注PHP中文网其他相关文章!