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

Python提取数组中最长单词的代码运行异常,占用大量内存无正确输出

代码问题排查及修复

核心问题点

  • 内存溢出原因:内层for word2 in longest循环遍历longest数组的同时,不断向数组追加元素,数组长度无限增长导致循环永远无法终止,最终占用大量内存。该内层循环本身是冗余设计,longest中存储的所有单词长度一致,无需遍历即可对比长度。
  • 输出错误:最终打印的是longest_word函数对象,而非存储结果的longest数组,无法得到预期输出。
  • 逻辑缺陷:初始longest设为[""]没有必要,通过单独记录当前最大长度的方式逻辑更清晰,也不会出现空字符串干扰的问题。

修复后代码

words = ["Good", "Bad", "Cool"]
def longest_word():
    longest = []
    max_length = 0
    for word in words:
        word_len = len(word)
        # 遇到更长的单词,清空原有结果更新最大长度
        if word_len > max_length:
            max_length = word_len
            longest.clear()
            longest.append(word)
        # 长度和当前最大相等,直接加入结果
        elif word_len == max_length:
            longest.append(word)
    print(longest)
longest_word()

运行后输出为['Good', 'Cool'],符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:54:02