【问题标题】:How to check if the n-th element exists in a Python list?如何检查第 n 个元素是否存在于 Python 列表中?
【发布时间】:2025-12-07 12:25:01
【问题描述】:

我在 python 中有一个列表

x = ['a','b','c']

有 3 个元素。我想在没有收到错误消息的情况下检查是否存在第 4 个元素。

我该怎么做?

【问题讨论】:

    标签: python list


    【解决方案1】:

    您要检查列表是否包含 4 个或更多元素?

    len(x) >= 4
    

    您想检查一个系列中的第四个元素是否在列表中?

    'd' in x
    

    【讨论】:

      【解决方案2】:

      你检查长度:

      len(x) >= 4
      

      或者你捕捉到IndexError 异常:

      try:
          value = x[3]
      except IndexError:
          value = None  # no 4th index
      

      您使用什么取决于您预计会有第 4 个值的频率。如果它通常在那里,请使用异常处理程序(最好请求原谅);如果您大多没有有第 4 个值,请测试长度(在跳跃之前查看)。

      【讨论】:

      • 很好,您向新用户展示了 LBYL 和 EAFP 模式。 (@A_B,谷歌他们)
      • 如果您的测试数字是一个已知的固定值,那很好,但如果它是一个整数变量,您可能不想接受负值作为有效值,尽管它们会成功索引到列表中。
      • @SimonHibbs 或先将值标准化(将len(x) 添加到负索引,因此normalised = len(x) + idx if idx < 0 else idx),然后检查是否0 <= normalised < len(x)