[英]Handle KeyError in Python
我如何使用 if 处理KeyError
? 根据错误,以不同的方式处理错误。
speed_uhc_team = counts_stats['games']['SPEED_UHC']['modes']['team_normal']
speed_uhc_solo = counts_stats['games']['SPEED_UHC']['modes']['solo_normal']
我想要的是,如果字典中不存在键team_normal
,则将我选择的值分配给该键。
但是当key team_normal
存在时,只分配key值。
这应该这样做:
d = { "team_solo": True}
if "team_normal" in d:
print("I found team_normal in d!")
if "team_solo" in d:
print("I found team_solo in d!")
只需检查密钥是否存在:
if 'team_normal' not in counts_stats['games']['SPEED_UHC']['modes'].keys():
speed_uhc_team = my_choice_value
else:
speed_uhc_team = counts_stats['games']['SPEED_UHC']['modes']['team_normal']
try: speed_uhc_team = counts_stats['games']['SPEED_UHC']['modes']['team_normal'] except KeyError: speed_uhc_team = counts_stats['games']['SPEED_UHC']['modes']['other_key']
如果只有最后一个键可以不存在,您可以使用get
:
speed_uhc_team = counts_stats['games']['SPEED_UHC']['modes'].get('team_normal',
default_value)
如果你想挂起任何关键错误,你应该使用一个 try 块:
try:
speed_uhc_team = counts_stats['games']['SPEED_UHC']['modes']['team_normal']
except KeyError:
speed_uhc_team = default_value
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.