You need to enable JavaScript to run this app. Python列表条件值修改:将0替换为后方首个大于0的数值
优惠活动
大模型
产品
解决方案
定价
更多

Python列表条件值修改:将0替换为后方首个大于0的数值

Python列表替换实现方案

核心思路

从后往前遍历列表,记录遍历过程中最近遇到的大于0的数值,遇到值为0的元素时直接用该数值替换即可,仅需一次遍历,时间复杂度为O(n)。

实现代码

my_list = [0, 0, 0.5, 0, 0, 0, 0.4, 0, 0.6]
# 记录最近遇到的大于0的数值
last_positive = None
# 倒序遍历列表
for index in range(len(my_list) - 1, -1, -1):
    if my_list[index] > 0:
        last_positive = my_list[index]
    else:
        my_list[index] = last_positive

print(my_list)

运行输出

[0.5, 0.5, 0.5, 0.4, 0.4, 0.4, 0.4, 0.6, 0.6]

注意事项

上述代码默认列表末尾元素为大于0的有效值,若你的使用场景中末尾可能出现0,可以自行补充逻辑为last_positive设置默认替换值即可。

内容的提问来源于stack exchange,提问作者MinatoDBO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 17:03:03