在下一段代码中,当我试图向字典中添加一个新键时,我将得到一个KeyError。
def tournamentWinner(competitions, results):
record = {}
winner = None
for i in range(len(results)):
if results[i] == 0:
if record[competitions[i][1]] not in record:
record[competitions[i][1]] = 3
else:
record[competitions[i][1]] += 3
else:
if record[competitions[i][0]] not in record:
record[competitions[i][0]] = 3
else:
record[competitions[i][0]] += 3
for element in record:
if winner is None:
winner = element
if element > winner:
winner = elemnt
return winner我得到了这个KeyError:
Exception Detected:
Traceback (most recent call last):
File "/tester/program.py", line 7, in tournamentWinner
if record[competitions[i][1]] not in record:
KeyError: 'C#'发布于 2021-12-21 02:26:07
您将得到该错误,因为在使用if- record检查时,record中不存在该键。
您可以通过使用dict.get方法解决这个问题:
而不是这样,如果-否则:
if record[competitions[i][1]] not in record:
record[competitions[i][1]] = 3
else:
record[competitions[i][1]] += 3您可以使用
record[competitions[i][1]] = record.get(competitions[i][1], 0) + 3https://stackoverflow.com/questions/70429999
复制相似问题