Python中字典的基础用法

字典是一种非常强大的数据结构,它提供了一种高效的方式来存储和访问键值对数据。本文将详细介绍Python中字典的高级用法,帮助你更好地掌握这一数据结构。

合并字典

从Python 3.5开始,可以使用**kwargs的方式来合并两个字典。而在Python 3.9及更高版本中,可以使用联合操作符|来实现字典的合并。

# Python 3.5及以上
dict1 = {"name""Max""age": 28}
dict2 = {"city""New York""email""max@xyz.com"}
merged_dict = {**dict1, **dict2}

# Python 3.9及以上
merged_dict = dict1 | dict2

从字典中移除某元素

使用pop函数可以从字典中移除元素,该函数还会返回被移除键的值。

my_dict = {"name""Max""age": 28}
value = my_dict.pop("age""未找到键")
print("被移除的值:", value)

字典的遍历

可以通过多种方式遍历字典,包括遍历键、遍历值或同时遍历键和值。

# 遍历键
for key in my_dict.keys():
    print(key)

# 遍历值
for value in my_dict.values():
    print(value)

# 同时遍历键和值
for key, value in my_dict.items():
    print(key, value)

字典的复制

复制字典时需要注意,直接赋值只会复制引用,而不是创建一个新的字典。可以使用copy()方法或dict()函数来实现字典的真正复制。

my_dict = {"name""Max""age": 28}
dict_copy = my_dict.copy()
# 或者
dict_copy = dict(my_dict)

字典的嵌套

字典的值可以是任何类型的数据,包括另一个字典,这就是所谓的嵌套字典。

nested_dict = {"dictA": {"name""Max""age": 28},
               "dictB": {"name""Alex""age": 25}}

字典的嵌套访问和更新

对于嵌套字典,可以通过连续使用方括号[]或者使用get()方法来访问或更新深层的值。

nested_dict = {"dictA": {"name""Max""age": 28}}
# 访问
print(nested_dict["dictA"]["name"])  # 输出: Max
# 更新
nested_dict["dictA"]["age"] = 29
print(nested_dict)  # 输出: {'dictA': {'name': 'Max', 'age': 29}}

使用get()方法访问字典项

使用get()方法可以安全地访问字典中的项,如果键不存在,可以返回一个默认值,而不是抛出KeyError异常。

original_dict = {"a": 1, "b": 2, "c": 3, "d": 4}
value1 = original_dict.get("c""无对应的数据")
value2 = original_dict.get("e""无对应的数据")
print(value1)  
print(value2)  

输出打印结果。

3
无对应的数据

使用setdefault()方法访问和更新数据

setdefault()方法在某种程度上类似于get(),但如果键不存在于字典中,除了返回默认值外,还会在字典中添加该键并设置为默认值。

original_dict = {"a": 1, "b": 2, "c": 3, "d": 4}
original_dict.setdefault("e", 5)
print(original_dict)  # 输出: {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}


请使用浏览器的分享功能分享到微信等