python:我想避免使用' copy'模

时间:2018-05-10 11:44:55

标签: python arrays recursion copy

(下面的代码不是工作代码。只是为了表达想法) 我的目的是递归调用sumsubset(arr.remove(el),num,org),解析更新的arr。 但是,这会导致不必要的删除原始arr,这将导致错误。所以,我经常依赖复制模块,感觉有些尴尬。

有没有更好的方法在不使用复制模块的情况下解析更新的arr? 谢谢你回答我的第一个问题。

arr=[1, 1, 2, 4, 4, 4, 7, 9, 9, 13, 13, 13, 15, 15, 16, 16, 16, 19, 19, 20]
num=36

import copy

def sumsubset(arr,num,org):

    for el in arr:
        if el==org:    return [el]

        tmp=copy.copy(arr)
        tmp.remove(el)
        result=[el]+sumsubset(tmp,num-el,org)

    return result

a=sumsubset(arr,36,36)

0 个答案:

没有答案