Python空列表异常

8

我有这个函数:

def foo():
    a = []
    if not a:
        print "empty"
        return None
    else:
        print "not empty"
        return a

有没有类似的异常可以做同样的事情?只是为了去掉if条件。像这样:
def foo(list):
    try:
        a = list
        return a
    except:
        return None

您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Tim Pietzcker
2
另外,为什么你想返回None而不是一个空列表?一个空列表已经被评估为布尔值False,那么你的问题背后的推理是什么? - Tim Pietzcker
2
这听起来像是XY问题。你实际上想要用列表做什么?为什么你想检查它是否为空? - Lukas Graf
1个回答

11

我会简单地使用 return l if l else None,你可以尝试索引列表,但我不建议这样做。

def foo(l):
    try:
        l[0]
        return l
    except IndexError:
        return None

3
最好不要只使用“except”,因为它可能会隐藏意外的错误。改用“except IndexError”。 - stalk
@stalk,true,已添加,我根本不会使用except,这只是为了说明它是可能的。 - Padraic Cunningham

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接