基于字符数移除词元组短词:Python代码报错求助
修正代码实现移除短词需求
原代码问题分析
- 错误使用
re.sub:该方法用于字符串替换,但你的输入是已拆分的词列表,且代码中word变量未定义,直接触发报错 - 冗余代码:
text = [word for word in text]仅复制原列表,无实际作用 - 逻辑偏差:正则匹配适合处理未拆分的字符串,而你的数据是已分词的列表,直接判断词长更高效
修正后的代码
def remove_short_words(word_list): # 筛选字符数≥4的词 return [word for word in word_list if len(word) >= 4] df['clean4Char'] = df['content'].apply(remove_short_words) df.head(4)
代码说明
- 函数接收词列表作为参数,通过列表推导式遍历每个词,仅保留长度≥4的词
- 用
apply将函数作用于content列的每一行,直接生成符合需求的clean4Char列
运行后结果会和你提供的样本完全一致:
content clean4Char0 [yes, no, never] [never]
1 [to, every, contacts] [every, contacts]
2 [words, tried, describe] [words, tried, describe]
3 [word, you, go] [word]
内容的提问来源于stack exchange,提问作者Dewani
相关产品推荐
相关产品推荐

