无法将值附加到Python中Leetcode上其他函数的列表中
嘿,伙计们,我想做的只是将列表附加到一个列表中,但由于某种原因,它无法附加正确的值。这是我的密码:无法将值附加到Python中Leetcode上其他函数的列表中,python,list,Python,List,嘿,伙计们,我想做的只是将列表附加到一个列表中,但由于某种原因,它无法附加正确的值。这是我的密码: class Solution(object): def subsets(self, nums): """ :type nums: List[int] :rtype: List[List[int]] """ mylist = [] nums.sort() self.helper(mylist, [], nums, 0) return
class Solution(object):
def subsets(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
mylist = []
nums.sort()
self.helper(mylist, [], nums, 0)
return mylist
def helper(self, mylist, templist, nums, start):
mylist.append(templist)
print(templist)
for i in range(start, len(nums)):
templist.append(nums[i])
self.helper(mylist, templist, nums, i + 1)
templist.pop()
圣堂武士打印出正确的输出,如下所示:
[]
[1]
[1, 2]
[1, 2, 3]
[1, 3]
[2]
[2, 3]
[3]
但mylist只是根据leetcode返回一个空列表列表,如下所示:
[[],[],[],[],[],[],[],[]]
我不知道为什么。如果有人能帮忙,那就太好了 因为您正在将相同的列表传递到递归调用中。这根本不是暂时的。传递副本或显式创建副本:
def helper(self, mylist, templist, nums, start):
templist = templist.copy()
mylist.append(templist)
....