LeetCode78 子集(python3库函数实现)
知识点
1.两个列表合并直接用 ‘+’即可
2.Python itertools模块combinations(iterable, r)方法可以创建一个迭代器,返回iterable中所有长度为r的子序列,返回的子序列中的项按输入iterable中的顺序排序。
eg:import itertools
list1 = [1, 3, 4, 5]
list2 = list(itertools.combinations(list1, 2))
print(list2)返回结果:
[(1, 3), (1, 4), (1, 5), (3, 4), (3, 5), (4, 5)]`
class Solution:def subsets(self, nums: List[int]) -> List[List[int]]:res=[[]]for i in range(1, len(nums)+1):iter1 = itertools.combinations(nums, i)res=res+list(iter1)return res
LeetCode78 子集(python3库函数实现)
知识点
1.两个列表合并直接用 ‘+’即可
2.Python itertools模块combinations(iterable, r)方法可以创建一个迭代器,返回iterable中所有长度为r的子序列,返回的子序列中的项按输入iterable中的顺序排序。
eg:import itertools
list1 = [1, 3, 4, 5]
list2 = list(itertools.combinations(list1, 2))
print(list2)返回结果:
[(1, 3), (1, 4), (1, 5), (3, 4), (3, 5), (4, 5)]`
class Solution:def subsets(self, nums: List[int]) -> List[List[int]]:res=[[]]for i in range(1, len(nums)+1):iter1 = itertools.combinations(nums, i)res=res+list(iter1)return res