0

对于拼写检查器,我想在拼写中添加两个缺失的字母。请建议我如何在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

4

1 回答 1

2

尝试这个:

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']
于 2013-11-14T10:34:23.670 回答