TypeError:' NoneType'对象不可迭代:(

时间:2017-05-21 04:53:31

标签: python list recursion nonetype

我想要做的是按照给定的集合制作一个powerset。 NUMS。 但我现在陷入困境。 我无法理解为什么python只是说NoneType错误...

+ Q。我想知道list_1是否可以与本地列表进行交互。 在我的递归函数中,我想将第3个参数描述为list_ 但这样做会发生其他问题。 也许用list_进行处理不适用于真实列表list_1。

def powerset(nums):
    list_1=[]
    recursion(0,nums,list_1)
    print (list_1)

def recursion(start,nums,list_1):
    if start>len(nums)-1:
        list_1.append([])
        return 0
    recursion(start+1,nums,list_1)
    i=0
    save_list=list_1
    save_len=len(list_1)
    while i<save_len:
        list_1.extend(save_list[i].append(nums[start]) )
        i += 1

1 个答案:

答案 0 :(得分:1)

def powerset(nums):
    list_1=[]
    recursion(0,nums,list_1)
    print (list_1)

def recursion(start,nums,list_):
    if start>len(nums)-1:
        list_.append([])
        return 0
    recursion(start+1,nums,list_)
    i=0
    save_list=list_
    save_len=len(list_)
    while i<save_len:
        listy=save_list[i]
        listy.append(nums[start])
        list_[i].extend(listy)
        i += 1

试试这个。正如切普纳所说,你的问题就是追加。