题目
给一个集合,输出他的所有子集
如{‘a’,‘b’,‘c’}---->{所有子集}
思路
用回溯法,每次取一个字符串,利用其它的字符串组合,然后在回溯到初始状态,进行下一个。
代码
def subset(set):
list = []
result = []
subset_back(set,list,result,0)
return result
def subset_back(set,list,result,pos):
result.append([list[:]])
for i in range(pos,len(set)):
list.append(set[i])
subset_back(set,list,result,i+1)
list.pop()
a = subset(['a','b','c'])
print(a)