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/