在 Python 中,字典的 values()
方法用于返回字典中所有值(values)的视图对象。这个视图对象是动态的,意味着字典发生变化时,视图对象也会随之更新。
1. 语法
dict.values()
参数: 无
返回值: dict_values
视图对象
2. 示例
# 示例字典
student = {
"name": "Alice",
"age": 25,
"grade": "A"
}
# 使用 values() 方法
values_view = student.values()
# 打印 values 视图
print(values_view) # dict_values(['Alice', 25, 'A'])
# 将其转为列表
values_list = list(values_view)
print(values_list) # ['Alice', 25, 'A']
3. 视图对象的特点
3.1. 动态性:
当字典内容变化时,dict_values
视图也会随之更新:
student["age"] = 26
print(values_view) # dict_values(['Alice', 26, 'A'])
3.2. 不可直接修改:
视图对象本身不支持修改
values_view[0] = "Bob" # TypeError: 'dict_values' object does not support item assignment
3.3. 可迭代:
dict_values
是可迭代的,可以用于 for
循环:
for value in student.values():
print(value)
4. 常见用法
4.1. 统计字典中值的数量:
scores = {'Alice': 90, 'Bob': 85, 'Charlie': 90}
print(len(scores.values())) # 3
4.2. 判断值是否存在:
print(90 in scores.values()) # True
4.3. 求和、最大、最小:
print(sum(scores.values())) # 265
print(max(scores.values())) # 90
4.4. 拼接多个列表:
hits = {'file1': [1, 2], 'file2': [3, 4]}
all_hits = sum(hits.values(), [])
print(all_hits) # [1, 2, 3, 4]
5. 与 keys()
和 items()
的比较
方法 | 返回类型 | 内容 | 是否动态更新 |
---|---|---|---|
dict.keys() |
dict_keys |
返回字典的所有键 | ✅ |
dict.values() |
dict_values |
返回字典的所有值 | ✅ |
dict.items() |
dict_items |
返回键值对((key, value) 元组) |
✅ |
6. 关键总结
values()
返回字典值的动态视图,类型为dict_values
。- 可用于迭代、统计、转换为列表、判断成员等操作。
- 视图不支持直接修改,但随字典变化而变化。