python - list(dictionary.values()) 与 dictionary.values()
问题描述
我想返回给定字典的值列表dict
。有什么list(dict.values())
不同dict.values()
。
为什么dict.values
不可迭代?
解决方案
不同之处在于 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])
推荐阅读
- tapestry - 是否可以使用带有区域的页面链接
- ruby-on-rails - 如何仅使用正则表达式接受双“”
- unity3d - Unity Copy Movement base off faces
- ruby-on-rails - Ruby-ReviewsController#index 中的 NoMethodError
- go - 无限循环变量:在无限循环中创建一个数组会浪费内存吗?
- python - Hinterland 的“排除正则表达式”不起作用 - 使用冒号总是会产生自动完成菜单
- android - kotlin 中的列表视图 setOnItemClickListener
- c# - 如何以 DDD 方式部分更新聚合
- mysql - MySQL 错误 1093 的特殊情况 - 无法在 FROM 子句中指定要更新的目标表
- java - 获取已知集合的上一个和下一个元素