Tags: 数据类型 AI 人工智能

Python字典(Dictionary)内置方法全集

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字典数据时更加高效、灵活,同时也能提升代码可读性与维护性。