python - 如何使用Python返回整数列表的所有子集的列表?
问题描述
我得到了一个整数数组 A,我需要返回一个包含它所有子集的数组。我尝试使用回溯来解决这个问题。
def subset_helper(index, result, A, temp):
result.append(temp)
#print(temp)
for i in range(index,len(A)):
temp.append(A[i])
subset_helper(i+1,result,A,temp)
#backtracking
temp.pop()
return
def subsets(A):
result = []
temp = []
index = 0
subset_helper(index, result, A, temp)
return result
这会返回一个空列表。打印 temp 给了我正确的答案,但问题要求我返回一个数组。我猜由于引用调用而导致的临时数组 在每次迭代中都会发生变化,这可能就是它给我空列表列表的原因。
Input : [12,13]
Expected Output : [[],[12],[12,13],[13]]
My Output : [[],[],[],[]]
解决方案
您可以使用 powerset 来获得您正在寻找的输出。
iterable=[12,13]
res=list(powerset(iterable))
推荐阅读
- java - IDEA 2018.2 如何清除调试条件历史
- spring - “无法解析导入 java.util.function”错误
- wordpress - WordPress:在子主题中覆盖父主题类功能
- node.js - 设计模式:将http请求与可插拔的Redis缓存机制相结合
- c# - 控制钢筋设置的布局区域
- java - Javafx 轮换
- amcharts - 如何要求为股票图表中的大型数据集记录所有数据点?
- java - 我在 android 模拟器中使用 Appium-Eclipse-TestNG 框架单击或点击项目时遇到问题
- xamarin - 如何在 xamarin 表单中获取编辑器的键盘完成按钮单击事件?
- python - Numpy mmap 和 kubernetes RAM 限制