在列表中查找变量

Finding variables in a list

我在搜索列表时寻找错误检查,但在加载和卸载时遇到了问题。我正在寻找一种方法让脚本 return what variable failed.

thisList = ['tacos', 'beer', 'cheese']

try:
    x = thisList.index('beer')
    y = thisList.index('eggs')
except ValueError as e:
    DO AWESOME

此时我想挑出y。 提前谢谢你。

据我所知,使用单个 try/except.

是不可能的

相反,您可以对每个有问题的行使用一个 try/except...

try:
    x = thisList.index('beer')
except ValueError as e:
    print("x not found")
try:
    y = thisList.index('eggs')
except ValueError as e:
    print("y not found")

... 或为自己编写一个辅助函数,例如 find 用于字符串,而不是抛出异常 returns 一些您可以在事后检查的特殊标记值。

def find(l, e):
    try:
        return l.index(e)
    except ValueError:
        return -1

x = find(thisList, 'beer') # x is  1
y = find(thisList, 'eggs') # y is -1