Skip to main content
 首页 » 编程设计

Python 辅音/元音排列

2025年05月04日12zlslch

我想为特定的辅音/元音设置生成所有可能的排列。例如,我想要所有可能的 3 字母单词排列,格式为 CVC(辅音、元音、辅音)。

我不知道有什么方法可以乘以排列:

permutations("bcdfghjklmnpqrstvwxyz",1) * permutations("aeiou",1) * permutations("bcdfghjklmnpqrstvwxyz",1) 

这在 python 中如何实现?

请您参考如下方法:

itertools.product救援:

>>> import itertools 
>>> consonants = "bcdfghjklmnpqrstvwxyz" 
>>> vowels = "aeiou" 
>>> poss = list(itertools.product(consonants, vowels, consonants)) 
>>> len(poss) 
2205 
>>> poss[:10] 
[('b', 'a', 'b'), ('b', 'a', 'c'), ('b', 'a', 'd'), ('b', 'a', 'f'), ('b', 'a', 'g'), ('b', 'a', 'h'), ('b', 'a', 'j'), ('b', 'a', 'k'), ('b', 'a', 'l'), ('b', 'a', 'm')] 

或者如果你想要特别的话:

>>> words = list(''.join(letters) for letters in itertools.product(consonants, vowels, consonants)) 
>>> words[:10] 
['bab', 'bac', 'bad', 'baf', 'bag', 'bah', 'baj', 'bak', 'bal', 'bam']