📌  相关文章
📜  'dict_keys' 对象没有属性 'tolist' - Python (1)

📅  最后修改于: 2023-12-03 15:13:02.540000             🧑  作者: Mango

'dict_keys' 对象没有属性 'tolist' - Python

该错误代表着我们试图将 dict_keys 对象转换为一个列表 (list) 时,该对象并不具备 tolist 属性。这个错误通常在使用 Python 3 的时候出现。

dict_keys 对象

在 Python 中,字典的键和值(假如只取键)可以通过 dict.keys() 方法获取。返回值是一个 dict_keys 的对象,它提供了字典所有键的一个视图,以允许使用字典的键。这个字典视图属于动态视图,它会随着原字典的实时更新而实时更新。

>>> my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
>>> my_keys = my_dict.keys()
>>> my_keys
dict_keys(['apple', 'banana', 'orange'])
>>> type(my_keys)
<class 'dict_keys'>
调用 tolist 方法引发的错误

当我们在将 dict_keys 转换为列表时,并不是任何时候都可以使用 tolist 方法。因为 dict_keys 对象并没有提供 tolist 方法,因此,当我们在尝试使用 tolist 方法时,就会引发这个错误。下面是这个错误的一个示例:

>>> my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
>>> my_keys = my_dict.keys()
>>> my_keys.tolist()
AttributeError: 'dict_keys' object has no attribute 'tolist'

由于 dict_keys 对象并没有提供 tolist 方法,因此我们无法将它转换为列表。而正确的转换方法是使用 list 函数:

>>> my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
>>> my_keys = my_dict.keys()
>>> my_list = list(my_keys)
>>> my_list
['apple', 'banana', 'orange']