如何根据第一个元素中的空元素对列表进行排序?

2024-04-25 19:25:15 发布

您现在位置:Python中文网/ 问答频道 /正文

函数返回以下内容:

[[], [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])

Tags: lambdakey函数in列表forsizeif