【问题标题】:Python empty list Exception [closed]Python空列表异常[关闭]
【发布时间】:2015-01-13 10:37:35
【问题描述】:

我有这个功能:

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

【问题讨论】:

  • 你的第一个函数没有意义 - if not a: 将永远是 True...另外,请不要使用 list 作为变量名。
  • 另外,为什么要返回None 而不是一个空列表?一个空列表已经评估为布尔值 False,那么您的问题背后的原因是什么?
  • 这听起来像XY problem。您实际上想对列表做什么? 为什么要检查它是否为空?

标签: python python-2.7 exception except


【解决方案1】:

我只会使用return l if l else None,你可以尝试索引列表,但我不推荐它。

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

【讨论】:

  • 最好不要只使用except,因为它可以隐藏意外错误。请改用except IndexError
  • @stalk,真的,补充说,我根本不会使用 except,这只是为了表明它是可能的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多