Ich möchte Wörter und einen Buchstaben generieren. Aber alle generierten Wörter müssen diesen Buchstaben enthalten. Ich erzeuge eine sehr große Menge an Wörtern. So ist es sehr ineffizient zu sagen:Generieren Sie Zeichenfolgen, die immer einen bestimmten Buchstaben python enthalten
(word for word in self.getWords(letters, 8) if letter in word)
oder etwas Äquivalentes.
getWords
Code:
def getWords(self, iterable, maxDepth):
allWords = []
for depth in range(3, maxDepth + 1):
for word in itertools.permutations(iterable, depth):
allWords.append("".join(word))
Ich möchte getWords
haben nur über Worte mit letter
in ihnen denken. Gibt es eine Möglichkeit itertools
zu verwenden, um dieses Ergebnis zu erreichen?
Ein Weg wäre, das gewünschte Zeichen an jedes Wort anzuhängen und dann die resultierende Folge zu permutieren – martianwars
@KalpeshKrishna danke! – rassar