You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python运行线性搜索时time delta输出0.0问题排查求助

问题原因说明

print语句不存在问题,出现该现象是两个错误共同导致的:

  • 线性搜索函数逻辑错误:你编写的linear_search函数中,return False的缩进位置错误,被放置在了for循环内部。这会导致遍历第一个元素时,如果元素不等于目标值就直接返回False,不会继续遍历后续元素。整个函数的执行时间最多只有一次条件判断的耗时,耗时极短,普通时间戳精度无法捕捉到时间差,因此输出0.0。debug模式下因为存在调试状态监测的额外开销,才会出现可观测的时间差值。
  • 计时工具精度不足:time.time()用于获取系统级时间戳,精度受操作系统影响较大,对微秒级以下的短耗时场景捕捉能力不足,统计短耗时更推荐使用精度更高的time.perf_counter()。
修复后可正常运行的代码
import time
import itertools

def linear_search(arry, target):
    for index, value in enumerate(arry):
        if value == target:
            return True
    # 调整return False缩进至循环外,遍历完全部元素未命中才返回
    return False

k = list(itertools.islice(range(2000000), 1, 2000000, 2))
# 换用高精度计时工具
start = time.perf_counter()
linear_search(k, 25)
done = time.perf_counter()
delta = done - start 
print(delta)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 02:45:02