【发布时间】:2012-11-07 23:57:26
【问题描述】:
我试图找到一个单词中所有元音的所有可能组合。所以例如给定'你好':
[halla, halle, halli, hallo, hallu, hella, halle, halli, hallo, hallu...]
我编写了以下函数,它将只获取每个元音,并且在每个元音处,它将全部替换为元音并将每个版本添加到列表中。我正在尝试将其更改为我想要的排列,但它不起作用。我尝试在追加后插入元音(“”.join(string),arr),但这会导致无限递归。
def vowels(word, arr=None):
if arr is None:
a = []
for i, c in enumerate(word):
if c in 'aeiou':
for v in 'aeiou':
string = list(word)
string[i] = v
arr.append("".join(string))
return arr
有人有什么建议吗?
【问题讨论】:
-
if arr is None: a = []应该是if arr is None: arr = []。这是一个错字还是你的问题?
标签: python string list combinations