迭代扔掉列表,如果值不存在则隐藏错误并继续

时间:2018-03-22 07:16:29

标签: python loops error-handling

我有一个列表,如:

results = ['SDV_GAMMA','SDV_BETA,'...','...']

然后来了和for循环:

for i in range (len(results)):
    a = instance.elementSets[results[i]]

结果列表中定义的字符串是*.odb结果文件的一部分,如果它们不存在则会出现错误。

我希望我的程序不会停止导致错误。它应该继续并检查是否存在其他结果值的值。

所以在开始我的程序之前,我不必对每个结果进行排序。如果它不在列表中,则没有问题,如果它存在,我会得到我的数据。

我希望你知道我的意思。

2 个答案:

答案 0 :(得分:1)

您可以使用try..except block

<强>实施例

for i in results
    try:
        a = instance.elementSets[results[i]]
    except:
        pass

答案 1 :(得分:0)

您可以在解压缩之前检查instance.elementSets中是否存在结果[i]。

如果instance.elementSets是字典,请使用dict.get命令。 https://docs.python.org/3/library/stdtypes.html#dict.get