在下一個代碼中,當我嘗試向字典添加新鍵時,出現 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#'
uj5u.com熱心網友回復:
您收到該錯誤是因為competitions[i][1]在record您使用 if-else 檢查時鍵不存在。
您可以使用以下dict.get方法解決此問題:
而不是這個 if-else:
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/388179.html
