首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何追加到全局列表?

如何追加到全局列表?
EN

Stack Overflow用户
提问于 2018-06-25 23:21:17
回答 2查看 3.3K关注 0票数 0
代码语言:javascript
复制
candidates = [2,3,5]
candidates.sort()
target = 8
ans = []
temp = []
start = 0

def backtracking(temp,candidates,remaining,start):
    global ans
    if remaining < 0:
        return
    elif remaining == 0:
        if temp not in ans:
            ans.append(temp)
        print ans,"ans"
    else:
        i = start
        print i,"st"
        while i < len(candidates):
            temp.append(candidates[i])
            print i,"i"
            backtracking(temp,candidates,remaining-candidates[i],i)
            temp.pop(len(temp) - 1)
            i += 1


backtracking(temp,candidates,target,start)
print ans

因此,当我尝试打印我的列表ans时,我得到[[]] -我无法将temp列表附加到全局列表ans。如何做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2018-06-25 23:27:17

您不能在Python中追加这样的列表。你可以像list = list1 + list2一样追加。因此,您需要编写ans = ans + temp来代替ans.append(temp)

票数 0
EN

Stack Overflow用户

发布于 2019-05-13 13:53:34

使用ans.append(temp[:])代替ans.append(temp)是可行的。

但我还不知道为什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51026902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档