python字典dict copy()语法及参数

字典copy()方法

python的列表list内置了copy()浅拷贝的方法,python的字典dict也内置了copy()这一拷贝字典的方法,二者的用途基本类似。字典的copy()方法可以复制一个与调用对象值一模一样但计算机分配的内存地址不一样的字典dict。修改新字典的值,并不会因此修改原字典的值。


字典copy()语法及参数

dict.copy()

python内置的字典copy()方法一般不接收参数,否则会抛出TypeError。


字典copy()返回值

一个与调用对象值一模一样的内存地址不同的新字典dict。


字典copy()实例代码

>>> d = {'域名':'x1y1z1.com','网站名':'笨鸟工具','简介':'python全栈'}
>>> d2 = d.copy()
>>> d2
{'域名': 'x1y1z1.com', '网站名': '笨鸟工具', '简介': 'python全栈'}
>>> id(d)
4327424880
>>> id(d2)
4325132720
>>> d2['简介'] = 'python全栈技术博客'
>>> d2
{'域名': 'x1y1z1.com', '网站名': '笨鸟工具', '简介': 'python全栈技术博客'}
>>> d
{'域名': 'x1y1z1.com', '网站名': '笨鸟工具', '简介': 'python全栈'}
>>> d3  = d
>>> id(d3)
4327424880
>>> d3['简介'] = 'python全栈,包括前端三件套'
>>> d3
{'域名': 'x1y1z1.com', '网站名': '笨鸟工具', '简介': 'python全栈,包括前端三件套'}
>>> d
{'域名': 'x1y1z1.com', '网站名': '笨鸟工具', '简介': 'python全栈,包括前端三件套'}
>>> d.copy(1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: copy() takes no arguments (1 given)

实例代码解析

1、如上代码,通过比较id(d2)和id(d),以及id(d3)的返回值,可以发现,通过copy()浅拷贝的方式复制的字典的内存地址与原字典的内存地址是不同的,而通过直接赋值的方式则是相同的;2、通过修改copy()浅拷贝的字典的值,并不会因此修改原字典的值,而通过直接拷贝的方式则会;3、尝试传递参数给字典的copy()方法,python会抛出TypeError。



全栈后端 / python教程 :


























Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.