如果if语句等于错误怎么办?

时间:2013-01-31 23:57:43

标签: python if-statement python-3.x syntax-error dictionary

在检查友好数字时,我已经制作了以下 if -statement(dict是字典):

if n == dict[lib[n]]:
        amic[n] = dict[n]

但如果 n 值不在字典中,则返回错误;正如它应该。但我希望它继续下去,因为错误意味着“它不相等”,它应该继续下一个 n

这可能吗?

2 个答案:

答案 0 :(得分:3)

您可能希望dict.get()返回None(或您选择的其他默认值)。例如n == lib.get(lib.get(n))

答案 1 :(得分:0)

你可以在try块中包装,并忽略异常,但是给出更多的上下文,可能有更好的方法......(lib[lib[n]]看起来很奇怪......)

这将捕获libamic的IndexError,但是......

try:
    if n == lib[lib[n]]:
        amic[n] = lib[n]
except IndexError as e: # or KeyError if a dict
    pass