这里有两件事是错误的:
第一的
return set(main_list)
使用:return main_list
代替。
因为,Set 需要一个可散列类型,而 list 不是,因为 list 是可变的。你也可以在这里使用一个元组,它是不可变的。
其他
您不能同时将 main_list 的引用附加并传递给递归。所以像:
main_list.append(sublist)
return subsets(setys, count + 1, main_list)
会为你工作。
输出:
[]
[[0]]
[[0], [0, 1], [0, 1]]
[[0], [0, 1], [0, 1], [0, 1, 34], [0, 1, 34], [0, 1, 34]]
[[0], [0, 1], [0, 1], [0, 1, 34], [0, 1, 34], [0, 1, 34], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3]]
[[0], [0, 1], [0, 1], [0, 1, 34], [0, 1, 34], [0, 1, 34], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5]]
[[0], [0, 1], [0, 1], [0, 1, 34], [0, 1, 34], [0, 1, 34], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6]]
[[0], [0, 1], [0, 1], [0, 1, 34], [0, 1, 34], [0, 1, 34], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7]]
[[0], [0, 1], [0, 1], [0, 1, 34], [0, 1, 34], [0, 1, 34], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9]]
[[0], [0, 1], [0, 1], [0, 1, 34], [0, 1, 34], [0, 1, 34], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2]]
[[0], [0, 1], [0, 1], [0, 1, 34], [0, 1, 34], [0, 1, 34], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None]]
[[0], [0, 1], [0, 1], [0, 1, 34], [0, 1, 34], [0, 1, 34], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99]]
[[0], [0, 1], [0, 1], [0, 1, 34], [0, 1, 34], [0, 1, 34], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99], [0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99]]
编辑
将此添加到您的退货声明中:
final_set = set()
for item in tuple(main_list):
final_set.add(tuple(item))
return list(final_set)
最终输出:
[(0, 1), (0,), (0, 1, 34, 3, 5, 6, 7, 9, 2, None, 99), (0, 1, 34), (0, 1, 34, 3, 5, 6, 7, 9, 2), (0, 1, 34, 3, 5), (0, 1, 34, 3, 5, 6, 7), (0, 1, 34, 3, 5, 6, 7, 9), (0, 1, 34, 3, 5, 6), (0, 1, 34, 3, 5, 6, 7, 9, 2, None), (0, 1, 34, 3)]