+ + 结构 + +``` +- 标题 +- 问题描述 +- 代码栗子 +- 总结 +``` + + 目录 + + TypeError: 'dict_keys' object does not support indexing + + 如何实现? + +```python +a = {'a': 1} +b = a.keys() +c = b[0] +``` + + 异常描述 + +``` +TypeError Traceback (most recent call last) +<ipython-input-9-9dceb06f3f84 in <module() + 2 a = {'a': 1} + 3 b = a.keys() +---- 4 c = b[0] + +TypeError: 'dict_keys' object does not support indexing +``` + + 原因说明 + +错误原因在于,字典的 keys 方法返回的是 dict_keys 对象,而这种对象不支持 indexing 。 + + 如何解决? + + 将 dict_keys 转换成 list + +只要将返回的 dict_keys 对象转换成 list 即可。 + +```python +a = {'a': 1} +b = list(a.keys()) +c = b[0] +``` + + 使用迭代 + +```python +a = {'a': 1} +for key in a: + print(key) +``` + + 参考 + +- TypeError: 'dict_keys' object does not support indexing