在检查友好号码时,我做了以下if语句(dict是字典):
if n == dict[lib[n]]:
amic[n] = dict[n]
但是,如果 n 值不在字典中,则返回错误;这是应该的。但我希望它继续,因为错误意味着"它不相等",它应该继续到下一个 n。
这可能吗?
您可能想要返回None
(或您选择的其他默认值)的dict.get()
。 例如n == lib.get(lib.get(n))
你可以包装在一个 try 块中,并忽略异常,但考虑到更多的上下文,可能有更好的方法......(lib[lib[n]]
只是看起来很奇怪...
不过,这将捕获lib
和amic
的索引错误......
try:
if n == lib[lib[n]]:
amic[n] = lib[n]
except IndexError as e: # or KeyError if a dict
pass