字典(Dictionary)是一种无序的键值对集合,通常用于存储和检索数据。每个键(Key)都是唯一的,且必须是不可变类型(如字符串、数字或元组),而值(Value)可以是任意类型。
浅拷贝创建一个新的字典对象,但键值对的值仍然是原字典中对象的引用。
original_dict = {'a': 1, 'b': [2, 3]}
shallow_copy_dict = original_dict.copy()
深拷贝创建一个新的字典对象,并且递归地复制所有嵌套的对象。
import copy
original_dict = {'a': 1, 'b': [2, 3]}
deep_copy_dict = copy.deepcopy(original_dict)
my_dict = {'a': 1, 'b': 2}
my_dict['c'] = 3 # 添加新的键值对
my_dict['a'] = 4 # 修改现有的键值对
my_dict = {'a': 1, 'b': 2, 'c': 3}
del my_dict['b'] # 删除指定的键值对
my_dict = {'a': 1, 'b': 2, 'c': 3}
value = my_dict['a'] # 访问指定的键值对
my_dict = {'a': 1, 'b': 2, 'c': 3}
if 'a' in my_dict:
print("Key 'a' exists")
字典常用于以下场景:
原因:浅拷贝只复制了字典对象本身,而没有复制嵌套的对象。
解决方法:使用深拷贝来复制字典。
import copy
original_dict = {'a': 1, 'b': [2, 3]}
deep_copy_dict = copy.deepcopy(original_dict)
deep_copy_dict['b'].append(4) # 修改深拷贝的字典不会影响原字典
原因:尝试访问字典中不存在的键。
解决方法:使用 get
方法或 in
关键字来检查键是否存在。
my_dict = {'a': 1, 'b': 2}
value = my_dict.get('c', 0) # 如果键不存在,返回默认值 0
希望这些信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云