我是python的初学者,我想知道哪种方法更好,假设我有以下代码,哪一个应该在生产中使用。
d = {}
d['a'] = set([0,1,2,0])
d['b'] = set([1,2,1,2])
方法1:
try:
print(d['c'])
except:
print(set())
方法2:
try:
ans = d['c']
except:
ans = set()
print(ans)
方法3:
if 'c' in d.keys():
print(d['c'])
else:
print(set())
方法4:
if 'a' in d.keys():
ans = d['c']
else:
ans = set()
print(ans)
答案 0 :(得分:0)
try
和except
子句的工作原理如下。
执行try
语句下的代码。一旦try
子句中发生异常,它就会跳转到except
语句。如果发生的错误对应于已执行except
子句的已定义异常。
这是你想要做的:
d = {}
d['a'] = set([0,1,2,0])
d['b'] = set([1,2,1,2])
try:
print(d['c']) #if this doesn't exist a KeyError is raised
#thus it immediately jumps to the except clause
except KeyError:
print("No such key in the dictionary")
但如果print(d['a'])
没有发生异常,则跳过except子句。