def minimizeMaximumPair(lst):
    lst.sort()

    def compute(aList):
        if len(aList) != 0:
            return [(aList[0], lst[len(aList) - 1])].extend(compute(aList[1:len(aList) - 1]))
        return []

    return compute(lst)

当我得到最后一个递归步骤时,我得到一个
TypeError: 'NoneType' object is not iterable

我尝试不返回任何内容,并且 []

最佳答案

您可以使用 list.extend 而不是返回 Nonelist.__iadd____iadd__ 也原地扩展列表,但之后返回 list
如果您不喜欢使用特殊方法,则可以使用 iadd 模块中的 operator

from operator import iadd

...

def compute(aList):
    if len(aList) != 0:
        return iadd([(aList[0], aList[-1])], compute(aList[1: -1]))
    return []

关于python - 函数内的函数,python 在列表上递归,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34734763/

10-12 17:40