首页 > 解决方案 > 如何根据具有空元素的第一个元素对列表进行排序?

问题描述

您的函数返回以下内容:

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

标签: pythonpython-3.x

解决方案


推荐阅读