Python 3.x 在列表中查找变量
我正在查找搜索列表时的错误检查,在加载和卸载时遇到问题。我正在寻找一种方法,让脚本返回失败的变量Python 3.x 在列表中查找变量,python-3.x,Python 3.x,我正在查找搜索列表时的错误检查,在加载和卸载时遇到问题。我正在寻找一种方法,让脚本返回失败的变量 thisList = ['tacos', 'beer', 'cheese'] try: x = thisList.index('beer') y = thisList.index('eggs') except ValueError as e: DO AWESOME 在这一点上,我想挑出y。 提前谢谢。据我所知,这是不可能使用单个尝试/除了 相反,您可以对每个有问题的行使用
thisList = ['tacos', 'beer', 'cheese']
try:
x = thisList.index('beer')
y = thisList.index('eggs')
except ValueError as e:
DO AWESOME
在这一点上,我想挑出y。
提前谢谢。据我所知,这是不可能使用单个
尝试/除了
相反,您可以对每个有问题的行使用一个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")
。。。或者为自己编写一个helper函数,比如字符串的find
,它不会引发异常,而是返回一些特殊的sentinel值,您可以在以后进行检查
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
你试过什么,到底有什么问题?错误消息将包括未找到的字符串(尽管不是指定给它的名称,因为可能有多个名称)。如果您想知道哪个失败了,为什么要将它们都放在同一个
try
?您可以使用两个独立的try/except
块,或者编写一个助手方法,如find
用于字符串,在“未找到”的情况下返回-1
或None
然后检查x
和y
的结果,最后一段代码正是我想要的。谢谢