Python字典(Dictionary)访问键与值的多种方法
在Python中,字典(Dictionary)是一种以键值对形式存储数据的集合类型。除了使用中括号访问键对应的值,还可以借助多种内置方法,如 get()、keys()、values() 和 items(),以更灵活、高效的方式查看或处理字典内容。本文将详细介绍这些方法的用法与特点。
1. 通过键名或 get() 方法获取值方法1:使用中括号[]访问值:
thisdict = {
"pinpai": "Fute",
"xinghao": "Mustang",
"nianfen": 1964
}
x = thisdict["xinghao"]
print(x)
# 输出: Mustang
方法2:使用 get() 方法访问值:
thisdict = {
"pinpai": "Fute",
"xinghao": "Mustang",
"nianfen": 1964
}
x = thisdict.get("xinghao")
print(x)
# 输出: Mustang
二者功能相似,但如果尝试访问不存在的键,get()方法不会抛出错误,而是返回None。
2. keys() 方法:获取字典中所有键keys()方法会返回一个字典视图对象,包含当前字典的所有键:
thisdict = {
"pinpai": "Fute",
"xinghao": "Mustang",
"nianfen": 1964
}
x = thisdict.keys()
print(x)
# 输出示例(dict_keys对象):
# dict_keys(['pinpai', 'xinghao', 'nianfen'])
该视图对象实时反映字典的变化:
qiche = {
"pinpai": "Fute",
"xinghao": "Mustang",
"nianfen": 1964
}
x = qiche.keys()
print(x) # 添加前
qiche["yanse"] = "baise"
print(x) # 添加后
# 视图将自动更新,包含 'yanse' 键
3. values() 方法:获取字典中所有值values()方法与keys()相似,返回的是所有值的视图对象:
thisdict = {
"pinpai": "Fute",
"xinghao": "Mustang",
"nianfen": 1964
}
x = thisdict.values()
print(x)
# 输出示例:
# dict_values(['Fute', 'Mustang', 1964])
同样,该视图也会随字典修改而更新:
qiche = {
"pinpai": "Fute",
"xinghao": "Mustang",
"nianfen": 1964
}
x = qiche.values()
print(x) # 修改前
qiche["nianfen"] = 2020
print(x) # 修改后
# 视图对象的值会相应变更
4. items() 方法:获取字典中所有键值对items()方法返回一个包含键值对(tuple)的视图对象:
thisdict = {
"pinpai": "Fute",
"xinghao": "Mustang",
"nianfen": 1964
}
x = thisdict.items()
print(x)
# 输出示例:
# dict_items([('pinpai', 'Fute'), ('xinghao', 'Mustang'), ('nianfen', 1964)])
同理,items()获取的也是一个动态视图,如果你对字典进行修改,该视图会同步更新。
5. 判断字典中某键是否存在使用in关键字可以快速检查字典中是否包含某个键:
thisdict = {
"pinpai": "Fute",
"xinghao": "Mustang",
"nianfen": 1964
}
if "xinghao" in thisdict:
print("Yes, 'xinghao' 是 thisdict 字典中的一个键")
# 输出:
# Yes, 'xinghao' 是 thisdict 字典中的一个键
6. 视图对象的特性与应用场景通过 keys()、values()、items() 获取的视图对象在以下场景非常有用:
实时监测字典更新:当字典新增或修改键值对时,视图对象随之改变。遍历字典:可在 for 循环中直接迭代 keys、values 或 items。总结["key"] 与 get():获取字典中指定键的值。keys():查看当前所有键。values():查看当前所有值。items():查看所有键值对(元组形式)。in关键字:判断字典中是否包含某键。熟练掌握这些方法,能让你在使用 Python 字典处理数据时更加便捷高效,也能更好地理解字典的实时更新机制。
相关推荐: