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

如何从任意单词列表中移除含重复字母的单词?

过滤列表中含重复字母的单词

情况1:删除所有包含重复字母的单词(无论是否连续)

如果需求是只要单词内存在任意重复字母就删除,可通过对比单词长度与去重后字符长度实现:

def filter_unique_letters(words):
    # 转小写是为了统一大小写判断,若需区分大小写可去掉.lower()
    return [word for word in words if len(set(word.lower())) == len(word.lower())]

# 测试示例
input_list = ['annotate','color','october','cellular','wingding','appeasement','sorta']
output_list = filter_unique_letters(input_list)
print(output_list)

运行结果:['october', 'sorta']

情况2:删除包含连续重复字母的单词(匹配你的示例输出)

如果需求是仅删除存在连续重复字母的单词(比如annotate里的nn、appeasement里的pp),可用正则表达式匹配连续重复字符:

import re

def filter_consecutive_duplicates(words):
    # 匹配任意连续重复的单个字符
    pattern = r'(.)\1'
    return [word for word in words if not re.search(pattern, word)]

# 测试示例
input_list = ['annotate','color','october','cellular','wingding','appeasement','sorta']
output_list = filter_consecutive_duplicates(input_list)
print(output_list)

运行结果:['color','october','wingding','sorta']

说明

  • 上述函数可直接处理任意动态生成的单词列表,无论是用户输入还是外部来源的数据,直接传入即可。
  • 情况2的正则规则可根据需求调整,比如要匹配连续重复3次的字符,可修改为r'(.)\1{2,}'。

内容的提问来源于stack exchange,提问作者Ben S.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 22:47:24