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

Susan Sarandon
发布: 2024-10-17 18:23:31
原创
757 人浏览过

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中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!