python3中“dict_value”和“dict_key”的用法

Lis*_*isa 5 python dictionary

dict = {'a':1, 'b':2}

dict.keys给出dict_keys(['a', 'b'])

dict.values给出dict_values([1, 2]).

有人可以举例说明如何使用dict_keysdict_values派上用场吗?为什么字典返回这些类型而不是只返回列表?

我经常做list(dict.keys)and list(dict.values),转换成一个列表来循环。

acd*_*cdr 5

也许您有相反的问题:为什么这些方法应该返回一个列表?

正如评论所指出的,如果这些方法必须返回列表,那么必须首先创建该列表。相比之下,您可以迭代dict_keysdict_values对象,而无需创建整个大列表。(您说您经常将这些对象转换为列表,以循环遍历它们。您不需要这样做:您可以直接循环遍历对象,如 中所示for value in my_dict.values()。)

如果您确实需要一个列表(请注意,通常情况并非如此),那么考虑最好是明确的,并自己创建一个列表:x = list(my_dict.keys())