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
而不是返回 None
的 list.__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/