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

Python筛选长度小于4字符的单词报错,求技术协助

问题排查与解决

先逐个揪出你代码里的问题:

  • 变量名错误:列表推导里循环变量是word,但你写了len(name),name根本没定义,应该改成len(word)。
  • 语法错误:<5的位置放错了,整个判断条件应该包裹在列表推导的if后面,你把它写到了推导式外面,导致语法报错。
  • 逻辑错误:需求是筛选长度小于4的单词,你写的是<5,这会把长度为4的单词也包含进去;另外find_short_words这个函数你没定义就直接调用,运行时会报NameError。

修正后的代码方案

方案1:直接用列表推导式处理目标列表

# 目标列表
words = ['dog', 'cat', 'turtle', 'horse', 'pangolin']
# 筛选长度小于4的单词
short_words = [word for word in words if len(word) < 4]
print(short_words)  # 输出: ['dog', 'cat']

方案2:封装成可复用的函数

def find_short_words(word_list):
    # 函数内实现筛选逻辑
    return [word for word in word_list if len(word) < 4]

# 调用函数并输出结果
result = find_short_words(['dog', 'cat', 'turtle', 'horse', 'pangolin'])
print(result)  # 输出: ['dog', 'cat']

方案3:用循环实现(对应你尝试的循环方式)

words = ['dog', 'cat', 'turtle', 'horse', 'pangolin']
short_words = []
for word in words:
    if len(word) < 4:
        short_words.append(word)
print(short_words)  # 输出: ['dog', 'cat']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 11:02:15