如何在所有可能的位置插入字符串中的两个字母

2024-03-28 20:19:52 发布

您现在位置:Python中文网/ 问答频道 /正文

对于拼写检查器,我想在拼写中添加两个缺少的字母。 请告诉我怎么用python做。 我有加一个字母的密码。你知道吗

def splits(word):
    result = []
    for i in range(len(word) + 1):
        result.append((word[:i], word[i:]))
    print result
    return result

def inserts(word):
    result = []
    for a, b in splits(word):
        for c in alphabet:
            result.append(a + c + b)
    return result

例如,我有单词He

我想要结果HaebaHebabHe等等


Tags: in密码forlenreturndef字母range
1条回答
网友
1楼 · 发布于 2024-03-28 20:19:52

试试这个:

def insertEach(chars, original):
  if not chars:
    yield original
  else:
    for doted in insertEach(chars[1:], original):
      for i in range(len(doted) + 1):
        yield doted[:i] + chars[0] + doted[i:]

[ x for x in insertEach('ab', 'HI') ]

结果:

['abHI', 'baHI', 'bHaI', 'bHIa', 'aHbI', 'HabI', 'HbaI', 'HbIa', 'aHIb', 'HaIb', 'HIab', 'HIba']

相关问题 更多 >