在Python中,字典(Dictionary)是一种通过键值对存储数据的可变集合类型。Python为字典提供了多种内置方法,方便我们对字典进行查询、更新、删除或获取特定信息。本文将一一介绍这些方法的用法与示例。
1. clear()
clear()
方法会移除字典中的所有键值对,但保留该字典对象:
mydict = {
"pinpai": "Fute",
"xinghao": "Mustang",
"nianfen": 1964
}
mydict.clear()
print(mydict)
# 输出: {}
2. copy()
copy()
方法返回当前字典的一个浅拷贝,与dict()
类似。修改新字典不会影响原字典:
mydict = {
"pinpai": "Fute",
"nianfen": 1964
}
newdict = mydict.copy()
newdict["nianfen"] = 2020
print("mydict:", mydict) # {'pinpai': 'Fute', 'nianfen': 1964}
print("newdict:", newdict) # {'pinpai': 'Fute', 'nianfen': 2020}
3. fromkeys()
fromkeys()
方法可根据一组键生成一个字典,并为这些键统一设置同一个值(默认None
):
keys_list = ["pinpai", "xinghao", "nianfen"]
newdict = dict.fromkeys(keys_list, "weizhi")
print(newdict)
# 输出: {'pinpai': 'weizhi', 'xinghao': 'weizhi', 'nianfen': 'weizhi'}
4. get()
get()
方法根据给定键返回对应值。若键不存在,返回None
(或可指定默认值)而不会抛出错误:
mydict = {
"pinpai": "Fute",
"nianfen": 1964
}
val = mydict.get("xinghao", "默认值")
print(val)
# 输出: 默认值 (因为 "xinghao" 不存在,返回指定的默认值)
5. items()
items()
方法返回一个包含字典所有键值对的视图对象,每个元素为(键, 值)的元组:
mydict = {"pinpai": "Fute", "nianfen": 1964}
for k, v in mydict.items():
print(k, v)
# 输出:
# pinpai Fute
# nianfen 1964
6. keys()
keys()
方法返回一个包含所有键的视图对象,遍历或查看键名时非常有用:
mydict = {"pinpai": "Fute", "nianfen": 1964}
print(mydict.keys())
# 输出示例: dict_keys(['pinpai', 'nianfen'])
7. pop()
pop(key)
根据指定键删除并返回对应的值。若键不存在则抛出KeyError
:
mydict = {"pinpai": "Fute", "nianfen": 1964}
nianfen_val = mydict.pop("nianfen")
print(nianfen_val) # 1964
print(mydict) # {'pinpai': 'Fute'}
8. popitem()
popitem()
删除并返回字典中最新插入的键值对,在Python 3.7+版本中遵循插入顺序。在更早版本中会随机移除一项:
mydict = {"pinpai": "Fute", "xinghao": "Mustang", "nianfen": 1964}
last_item = mydict.popitem()
print(last_item)
# 输出示例: ('nianfen', 1964) (Python 3.7+)
print(mydict)
# 剩下: {'pinpai': 'Fute', 'xinghao': 'Mustang'}
9. setdefault()
setdefault(key, default_value)
如果字典中存在该键则返回其值,不存在则插入该键并设为default_value
:
mydict = {"pinpai": "Fute"}
val = mydict.setdefault("nianfen", 2022)
print(val) # 2022 (键不存在,自动创建)
print(mydict)
# 输出: {'pinpai': 'Fute', 'nianfen': 2022}
10. update()
update()
可将另一个字典或可迭代对象中的键值对合并到当前字典,若有重复键则覆盖原值:
mydict = {"pinpai": "Fute", "nianfen": 1964}
mydict.update({"nianfen": 2020, "yanse": "hongse"})
print(mydict)
# 输出: {'pinpai': 'Fute', 'nianfen': 2020, 'yanse': 'hongse'}
11. values()
values()
方法返回一个字典视图对象,包含当前所有值:
mydict = {"pinpai": "Fute", "nianfen": 1964}
vals = mydict.values()
print(vals)
# 输出示例: dict_values(['Fute', 1964])
总结
理解并熟悉以上这些字典(Dictionary)内置方法,能让你在处理Python字典数据时更加高效、灵活,同时也能提升代码可读性与维护性。