Python3将值附加到数组,但前提是它不是None

时间:2016-05-20 16:24:16

标签: python arrays python-3.x

我有功能,它正在搜索某些东西,可能不会返回任何东西。 我想将它追加到数组但只有它返回一些东西

伪代码

def fu():
    if sometring:
        return result

a = []
a.append(fu())

现在如果此功能没有返回值,它会附加"无"数组[result1, None, result2,etc],如何避免?

1 个答案:

答案 0 :(得分:3)

如果您没有return语句,函数会自动返回None。为避免将None附加到列表,请在追加之前进行检查。

result = f()
if result:
    a.append(result)

或者使用filter最终过滤掉None

a = [1, 2, None, 3]
a = filter(None, a)

print(a)
# Output
[1, 2, 3]