Python字典的添加与修改、更新字典以及复制字典的操作

字典元素的添加和修改

语法格式:dict_name[key] = value

1)添加元素

如果指定的 key 不存在,那就是添加一个新元素到字典中。

score_dict = {'语文': 95,'数学': 100,'英语': 80}

print(f'原字典是:{score_dict}')

# 对不存在的key '地理' 进行赋值,就会添加一个新元素到字典中
score_dict['地理'] = 99

print(f'添加元素后的字典:{score_dict}')   # {'语文': 95, '数学': 100, '英语': 80, '地理': 99}
图片[1]-Python字典的添加与修改、更新字典以及复制字典的操作-尤尤'blog

2)修改元素

如果指定的 key (键)存在,新赋值的 value(值)就会覆盖原有的 value(值),这样的话就是修改元素。

score_dict = {'语文': 95,'数学': 100,'英语': 80}

print(score_dict)

# '英语'这个key已经存在了,66会覆盖原有的80,所以是修改元素
score_dict['英语'] = 66

print(score_dict)   # {'语文': 95, '数学': 100, '英语': 66}
图片[2]-Python字典的添加与修改、更新字典以及复制字典的操作-尤尤'blog

字典的更新操作

update()

使用指定字典的 key-value 对已有的字典进行更新。如果被更新的字典已包含相同的 key,则 key 原来对应的 value 会被覆盖(即修改元素);如果被更新的字典中不包含这个 key-value,则该 key-value 插入被更新的字典中(即添加元素)。无返回值。

语法格式:dict_name.update(new_dict)

参数说明:

new_dict 用来更新指定字典 dict_name 的字典。

在 dict_name 这个字典上进行操作的,没有返回值,不会产生新的字典对象。

score_dict = {'语文': 95, '数学': 100, '英语': 80}
new_dict = {'地理': 99, '数学': 120, '化学': 90}

print(f'更新前的字典score_dict:{score_dict}')

# '地理'和'化学'在被更新的字典score_dict中不存在,所以直接插入
# '数学'在被更新的字典score_dict中已经存在,所以120会覆盖它原先对应的value
score_dict.update(new_dict)

print(f'更新后的字典score_dict:{score_dict}')
图片[3]-Python字典的添加与修改、更新字典以及复制字典的操作-尤尤'blog

复制字典

如果使用 赋值操作(dict2 = dict1)来进行复制字典的话,会导致修改其中一个字典,另一个字典也会跟着变,这是因为使用赋值操作,只是让 dict2 的引用指向了 dict1,他们的内存地址是相同的。

score_dict = {'语文': 95, '数学': 120, '英语': 80, '地理': 99, '化学': 90}

# copy_dict只是score_dict的引用,所以他们值相同,并且score_dict发生改变,copy_dict也会跟着改变。
copy_dict = score_dict

print('score_dict:',id(score_dict),score_dict)
print('copy_dict:',id(copy_dict),copy_dict)

score_dict['化学'] = 100

print('score_dict:',id(score_dict),score_dict)
print('copy_dict:',id(copy_dict),copy_dict)
图片[4]-Python字典的添加与修改、更新字典以及复制字典的操作-尤尤'blog

如果想要修改其中一个字典,另一个字典不会跟着变化,可以使用 copy() 方法和 dict()。

1、使用 copy() 方法

语法格式:dict.copy()

返回值:返回一个字典的浅拷贝。

score_dict = {'语文': 95, '数学': 120, '英语': 80, '地理': 99}

# 浅拷贝
new_dict = score_dict.copy()

print('score_dict:',id(score_dict),score_dict)
print('new_dict:',id(new_dict),new_dict)

# 修改score_dict的某个值
score_dict['数学'] = 100

print('score_dict',id(score_dict),score_dict)  
print('new_dict',id(new_dict),new_dict)   
图片[5]-Python字典的添加与修改、更新字典以及复制字典的操作-尤尤'blog

2、使用 dict() 方法

score_dict = {'语文': 95, '数学': 100, '英语': 80}

dct = dict(score_dict)

print('score_dict:',id(score_dict),score_dict)
print('       dct:',id(dct),dct)

dct['化学'] = 90

print('score_dict:',id(score_dict),score_dict)
print('       dct:',id(dct),dct)
图片[6]-Python字典的添加与修改、更新字典以及复制字典的操作-尤尤'blog
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容