Python中哈希表的错误处理与调试技巧
- KeyError
当在哈希表中查找一个不存在的键时,Python 抛出 KeyError 异常。
例如,在以下哈希表中查找键为“pidancode.com”的值:
d = {'name': 'John', 'age': 30} print(d['pidancode.com']) # 键不存在,抛出 KeyError
可以使用 try-except 块来捕获 KeyError 异常,并处理错误:
d = {'name': 'John', 'age': 30} try: print(d['pidancode.com']) # 键不存在,抛出 KeyError except KeyError: print('Key not found')
输出:
Key not found
- dict.get() 方法
如果不确定键是否存在,可以使用 dict.get() 方法。这个方法返回键存在时对应的值,否则返回指定的默认值(默认为 None)。
例如,在以下哈希表中查找键为“pidancode.com”的值:
d = {'name': 'John', 'age': 30} print(d.get('pidancode.com')) # 键不存在,返回 None
输出:
None
可以为 get() 方法设置默认值,如下所示:
d = {'name': 'John', 'age': 30} print(d.get('pidancode.com', 'default_value')) # 键不存在,返回 'default_value'
输出:
default_value
- 调试技巧
当出现问题时,可以使用 print() 调试语句在代码中插入打印语句,以便查看每个变量的值。
例如,在以下哈希表中查找键为“pidancode.com”的值:
d = {'name': 'John', 'age': 30} value = d['pidancode.com'] # 键不存在,抛出 KeyError print(value) # 打印 value 变量的值
输出:
KeyError: 'pidancode.com'
可以看到,程序抛出了 KeyError 异常,但我们并不知道变量 value 的值。因此,可以在代码中添加打印语句:
d = {'name': 'John', 'age': 30} try: value = d['pidancode.com'] # 键不存在,抛出 KeyError except KeyError: print('Key not found') value = None print(value) # 打印 value 变量的值
输出:
Key not found None
现在我们可以清楚地看到变量 value 的值为 None,因为键不存在。
相关文章