当列表为空时如何获取列表的第一个元素或“None”?

Bab*_*sMe 2 python list

我可以这样做,但必须有更好的方法:

arr = []
if len(arr) > 0:
    first_or_None = arr[0]
else:
    first_or_None = None
Run Code Online (Sandbox Code Playgroud)

如果我只是执行 arr[0] 我会得到 IndexError。我可以提供默认参数吗?

Mou*_*use 7

我认为你给出的例子绝对很好 - 它非常具有可读性并且不会遇到性能问题。

如果你真的希望它的代码更短,你可以使用三元运算符 python 等效项:

last_or_none = arr[0] if len(arr) > 0 else None
Run Code Online (Sandbox Code Playgroud)

  • 您可以将 `len(arr) > 0` 缩短为 `arr`,因为空数组为 False 并且非空为 True。 (2认同)