首页  >  文章  >  后端开发  >  如何在Python中有条件地替换列表值?

如何在Python中有条件地替换列表值?

Susan Sarandon
Susan Sarandon原创
2024-10-17 18:23:31866浏览

How to Replace List Values Conditionally in Python?

在 Python 中有条件地替换列表值

使用列表时,通常需要根据某些条件修改其值。一项常见任务是,如果条件评估为 True,则将值替换为 None。

使用列表理解的解决方案

最有效的方法是通过列表理解.

<code class="python">new_items = [x if x % 2 else None for x in items]</code>

这里,items 是你的原始列表,x % 2 检查该 item 是否是偶数。如果为 true,则将该项替换为 None;否则,它将保留原始值。

就地修改

虽然可以就地修改原始列表,但出于效率原因,不建议这样做。

<code class="python">for index, item in enumerate(items):
    if not (item % 2):
        items[index] = None</code>

此方法需要对整个列表进行两次迭代,这对于大型列表来说成本高昂。

时序比较

对两种方法进行基准测试显示列表理解明显更快,特别是对于大型列表。

Python 3.6.3:

(In-place) 1.06 µs ± 33.7 ns per loop
(List comprehension) 891 ns ± 13.6 ns per loop

Python 2.7.6:

(In-place) 1.27 µs per loop
(List comprehension) 1.14 µs per loop

以上是如何在Python中有条件地替换列表值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn