它正在打印正确的值,但在结果数组中不存储任何内容。 这是我的代码:
def backtrack(result, nums, tempList):
if len(tempList) == len(nums):
result.append(tempList)
else:
for i in range(0, len(nums)):
if not tempList.count(nums[i]):
tempList.append(nums[i])
backtrack(result, nums, tempList)
tempList.pop()
nums = [1, 2, 3]
result = []
backtrack(result, nums, [])
print result
答案 0 :(得分:0)
您获得空内容列表的原因是您正在使用tempList.pop()
修改原始临时列表
您可以做的是复制tempList
,然后再附加到result
:
import copy
更改
result.append(tempList)
到
mycopy = copy.deepcopy(tempList)
result.append(mycopy)