我正在尝试实现一个函数来生成列表的powerset xs.
一般的想法是我们遍历元素xs并选择是否包括x.我面临的问题是withX最终等于[None](单个列表None)因为(我认为)s.add(x)返回None.
这不是一个家庭作业,它是一个破解编码面试的练习.
def powerSetBF(xs):
powerSet = []
powerSet.append(set([]))
for x in xs:
powerSetCopy = powerSet[:]
withX = [s.add(x) for s in powerSetCopy] # add x to the list of sets
powerSet = powerSet.extend(withX) # append those entries
return powerSet
Run Code Online (Sandbox Code Playgroud)