您的函数返回了以下内容:
[[], [5 ], [4 ], [5 4 ]]
期望的返回值:
[[], [4 ], [4 5 ], [5 ]]
所以我这样做是为了对列表进行排序:result.sort(key = lambda x : x[0])
它给了我一个错误,因为[]没有索引0
我也尝试过result.sort(key = lambda x : x[0] if x != [])
,但表示语法无效。该怎么做?
我正在尝试打印给定列表的所有组合:
def subsetsWithDup(self, A):
size = len(A)
power = pow(2, size)
result = []
temp = []
for i in range(power):
for j in range(size):
if (i & (1 << j)) > 0:
temp.append(A[j])
result.append(temp)
temp = []
return result
函数调用:
subsetsWithDup([5,4])