在尝试向python字典添加新密钥时获取keyerror python



在下一段代码中,当我试图向字典添加新键时,会收到一个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

我得到这个密钥错误:

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#'

您收到该错误是因为在使用if-else检查competitions[i][1]密钥时,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) + 3

最新更新