即使返回值是字符串,Recursive Function也会返回None

时间:2016-07-12 08:02:11

标签: python recursion nonetype

我正在编写一个帮助函数来展平列表,其中我只删除围绕整数的额外外部列表:

def rem_list(a):
    if type(a) != list:
        print a,"about to return"
        return a
    else:
        rem_list(a[0])
a = []
lis2 = [2,4,[[2]],[[[1]]], 5, 6, [7]]
for each in lis2:
    a.append(rem_list(each))
print a

我得到的输出如下:

2 about to return
4 about to return
2 about to return
1 about to return
5 about to return
6 about to return
7 about to return
[2, 4, None, None, 5, 6, None]

我不明白这一点。我在每次迭代中返回一个整数到rem_list()但是当字符周围存在外部列表时它返回None。我还包括一个print语句,它确切地检查我将要返回的内容并在打印中正确输出但仍然返回None。 Plz帮助。

0 个答案:

没有答案