python"或"当其中一个变量可能不存在?

4 python if-statement list

假设这样的事情:

if mylist[0] == 1 or mylist[12] == 2:
   # do something
Run Code Online (Sandbox Code Playgroud)

但我不确定是否mylist[12]永远不会超出范围.如何保持简单并仍然检查索引是否存在?不想做

if mylist[0] == 1:
    # do something
elif mylist[12] == 2:
    # do the EXACT same thing
Run Code Online (Sandbox Code Playgroud)

因为你得到了太多相同的代码行.

Mar*_*ers 10

你可以查看列表的长度:

if mylist[0] == 1 or (len(mylist) > 12 and mylist[12] == 2):
Run Code Online (Sandbox Code Playgroud)

这使用短路行为and来确保mylist[12]如果列表有12个或更少的项目将不会被评估.