首页 > 解决方案 > list(dictionary.values()) 与 dictionary.values()

问题描述

我想返回给定字典的值列表dict。有什么list(dict.values())不同dict.values()

为什么dict.values不可迭代?

标签: pythonlistdictionary

解决方案


不同之处在于 Python3 values() 返回一个视图。代表着:

  • 它不是一个列表

  • 它的内容会跟踪字典的变化,同时list会创建一个列表并且不会跟踪变化。

>>> d = { "one" : 1, "two" : 2, "three" : 3} 
>>> l = list(d.values()) 
>>> v = d.values() 
>>> d["one"] = 5 
>>> l 
[1, 2, 3] 
>>> v
dict_values([5, 2, 3])

推荐阅读