python - 如何编写大量嵌套的 'for' 循环(递归)

标签 python loops for-loop

word = "word"

# Splitting word into its characters
newword = []
for char in word:
    newword.append(char)

print newword


#getting all permutations
test= []
for i in newword:
    for j in newword:
        if i != j:
            for k in newword:
                if j != k and i!= k:
                    for l in newword:
                        if i != l and j != l and k != l:
                            test.append(i+j+k+l)

print test 
print type(test)
print len(test)

这 4 个嵌套循环非常适用于“单词”,因为它正好有 4 个字母。 如果我想要与任何给定单词中的字母一样多的“for”循环,我该怎么做? 有什么好的技巧吗?

最佳答案

In [10]: import itertools

In [11]: word = "word"

In [12]: test = [''.join(perm) for perm in itertools.permutations(word)]

In [13]: test
Out[13]: 
['word',
 'wodr',
 'wrod',
 'wrdo',
 'wdor',
 'wdro',
 'owrd',
 'owdr',
 'orwd',
 'ordw',
 'odwr',
 'odrw',
 'rwod',
 'rwdo',
 'rowd',
 'rodw',
 'rdwo',
 'rdow',
 'dwor',
 'dwro',
 'dowr',
 'dorw',
 'drwo',
 'drow']

关于python - 如何编写大量嵌套的 'for' 循环(递归),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26695506/

相关文章:

c 代码打印由 '*' 组成的三角形?

C编程自然数加法

Javascript 在异步循环结束时执行

javascript - 如何在for循环中每3次添加一个换行符

python - 具有整数序列的 Keras 示例字级模型给出 `expected ndim=3, found ndim=4`

python - 如何更好地阅读python代码?

python - Flask-Login 引发 TypeError : 'bool' object is not callable when trying to override is_active property

python - 在 Python 中使用 Selenium 单击隐藏链接

java - 为什么这个图形循环会卡住我的图形用户界面?

c - 返回 scanf 并且不运行循环