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

使用itertools permutations结合英文词集时循环出现匹配异常

问题原因

你在循环内部错误覆盖了原始字符串变量word——第一次循环执行word=''.join(item)时,原本存储"dseeenl"的word被替换成了生成的排列单词(比如最后一个是needs)。后续循环(i=6、7)调用permutations(word, i)时,使用的是被覆盖后的短单词,根本无法生成对应长度的排列,自然找不到匹配的有效单词。

修复后的代码
from itertools import permutations
from english_words import get_english_words_set

original_word = "dseeenl"
web2lowerset = get_english_words_set(['web2'], lower=True)

for i in range(5, len(original_word)+1):
    print(i)
    mywords = permutations(original_word, i)
    for item in set(mywords):
        current_word = ''.join(item)
        if current_word in web2lowerset:
            print(current_word)
输出差异翻译
实际输出预期输出
55
neeldneeld
densedense
ledenleden
neeleneele
neeseneese
needsneeds
66
lendee
needle
selene
lensed
sendee
77
needles

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 13:10:46