我的代码存在问题。
变量“used”幸存递归(它不会返回到状态之前,但保持不变)。
我理解这对于默认变量很常见,但是,“used”现在不应该是默认变量。
有人可以解释一下它是如何发生的吗?
newArray = []
def permutations(used, default=None):
if default is None:
default = used
used = []
if len(used) == len(default):
newArray.append(used)
return
else:
for i in range(len(default)):
if default[i] in used:
continue
used.append(default[i])
permutations(used, default)
print(permutations(['1', '2', '3']))