标签:__name__ == 结果 import oss 添加 依次 def 元素
1 """ 2 Given a set of distinct integers, nums, return all possible subsets (the power set). 3 Note: The solution set must not contain duplicate subsets. 4 Example: 5 Input: nums = [1,2,3] 6 Output: 7 [ 8 [3], 9 [1], 10 [2], 11 [1,2,3], 12 [1,3], 13 [2,3], 14 [1,2], 15 [] 16 ] 17 """ 18 """ 19 第一层循环依次遍历nums列表中的数字 20 第二层遍历res列表中的元素 21 将每个元素进行深拷贝,复制一份 22 将复制的元素中添加nums中的数字 23 再将添加数字后的元素添加到结果list中 24 """ 25 class Solution: 26 def subsets(self, nums): 27 import copy 28 res = [[]] 29 for num in nums: 30 for temp in res[:]: # 这里的res[:]是遍历res中的子list 31 x = temp[:]# 这里是temp[:]深拷贝, temp为浅拷贝 32 # !!!可以替换成:x = copy.deepcopy(temp) 33 #深拷贝是将值和地址一同拷贝, 34 #浅拷贝只拷贝值,值的所在地址是一样的 35 x.append(num) 36 res.append(x) 37 return res 38 39 if __name__ == ‘__main__‘: 40 a = Solution() 41 x = a.subsets([1, 2, 3]) 42 print(x)
标签:__name__ == 结果 import oss 添加 依次 def 元素
原文地址:https://www.cnblogs.com/yawenw/p/12370047.html