在 Python 中返回第一个列表项或 None

在 Python 中返回第一个列表项或 None

Return the first list item or None in Python

要返回第一个列表项或无:

  1. 检查列表是否不为空。
  2. 如果满足条件,则返回第一个列表项。
  3. 否则,返回None
主程序
my_list = ['bobby', 'hadz', 'com'] first_or_none = my_list[0] if my_list else None print(first_or_none) # 👉️ bobby my_list = [] first_or_none = my_list[0] if my_list else None print(first_or_none) # 👉️ None

if/else我们使用了三元运算符,它与语句非常相似。

if条件检查列表是否真实

空序列是虚假值,因此如果变量存储空列表或值,则不满足条件None

主程序
my_list = ['bobby', 'hadz', 'com'] print(bool(my_list)) # 👉️ True my_list = [] print(bool(my_list)) # 👉️ False

如果列表不为空,我们返回第一个列表项。

Python 索引是从零开始的,因此列表中的第一项的索引为,最后一项的索引为 0-1 len(my_list) - 1

如果列表为空或变量存储的是假值,则else语句运行并返回None

主程序
my_list = [] first_or_none = my_list[0] if my_list else None print(first_or_none) # 👉️ None

或者,您可以使用该next()功能。

使用 next() 返回第一个列表项或 None

要返回第一个列表项或None

  1. 将列表传递给iter()函数以创建迭代器。
  2. 将结果传递给next()函数以获取第一个列表项。
  3. None在函数调用中提供回退值next()
主程序
my_list = ['bobby', 'hadz', 'com'] first_or_none = next(iter(my_list or []), None) print(first_or_none) # 👉️ 'bobby' my_list = [] first_or_none = next(iter(my_list or []), None) print(first_or_none) # 👉️ None

我们使用该iter()函数创建了一个迭代器对象,因此我们可以调用该
next()函数。

next()函数返回迭代器的下一个项目。

该函数可以传递一个默认值作为第二个参数。

如果迭代器耗尽或为空,则返回默认值。

如果迭代器耗尽或为空且未提供默认值,
StopIteration则会引发异常。

我们使用or布尔运算符来涵盖变量存储值的场景None

如果表达式x or y为真,则返回左边的值,否则返回右边的值。

如果列表不为空,next()函数返回第一个列表项。

如果列表为空,则next()函数返回None

您选择哪种方法是个人喜好的问题。我会选择使用内联if/else语句,因为我发现它更直观且更易于阅读。

发表评论