当前位置: 首页 > news >正文

网站编辑主要做什么友好链接

网站编辑主要做什么,友好链接,新疆生产建设兵团12师网站,购买域名是不是骗局在python语言中,因为其面向对象的特性,在进行列表拷贝时可能会出现一些意想不到的结果,涉及到列表的浅拷贝和深拷贝相关问题,本文将对其进行总结。 首先我们来看以下代码。 my_list [1, 2, 3] your_list my_list your_list[0] …

        在python语言中,因为其面向对象的特性,在进行列表拷贝时可能会出现一些意想不到的结果,涉及到列表的浅拷贝和深拷贝相关问题,本文将对其进行总结。

        首先我们来看以下代码。

my_list = [1, 2, 3]
your_list = my_list
your_list[0] = 4
print(id(your_list))
print(your_list)
print(id(my_list))
print(my_list)输出
2492863632320
[4, 2, 3]
2492863632320
[4, 2, 3]

        将列表变量名直接赋值给另一个变量,并不会创建一个新的列表对象,而是使得一个变量多了一个标签(变量名只是对象的一个标签,也可以理解为变量名只储存了对象的地址),所以此时对your_list或my_list的任何更改都会体现在同一个对象上。

        接下来进入正题,浅拷贝指的是只创建了新的列表对象,而列表对象的内容(列表内对象的地址)不变。

        我们来看以下代码。

import copymy_list = [1, 2, 3]your_list = list(my_list)  #工厂函数
his_list = my_list[:]      #切片操作
her_list = copy.copy(my_list)    #copy模块的copy函数print(id(my_list))
for i in my_list:print(id(i))print(id(your_list))
for i in your_list:print(id(i))print(id(his_list))
for i in his_list:print(id(i))print(id(her_list))
for i in her_list:print(id(i))输出
16721501851521672146125040
1672146125072
167214612510416721500294401672146125040
1672146125072
167214612510416721500950401672146125040
1672146125072
167214612510416721500947201672146125040
1672146125072
1672146125104

        可以发现,虽然使用这三种方法新建了三个不同的列表对象,但这些对象的内容是一致的,也就是说三个列表对象的内容是同一批地址,此时列表对象的元素中有可变对象(如列表和字典等),则可能会出现意想不到的结果,如下代码所示。

import copy
my_list = [1, 2, [1, 2]]your_list = list(my_list)  #工厂函数
his_list = my_list[:]      #切片操作
her_list = copy.copy(my_list)    #copy模块的copy函数your_list[2][0] = 3
print(my_list)
print(your_list)
print(his_list)
print(her_list)his_list[2][1] = 4
print(my_list)
print(your_list)
print(his_list)
print(her_list)her_list[2].append(5)
print(my_list)
print(your_list)
print(his_list)
print(her_list)输出
[1, 2, [3, 2]]
[1, 2, [3, 2]]
[1, 2, [3, 2]]
[1, 2, [3, 2]][1, 2, [3, 4]]
[1, 2, [3, 4]]
[1, 2, [3, 4]]
[1, 2, [3, 4]][1, 2, [3, 4, 5]]
[1, 2, [3, 4, 5]]
[1, 2, [3, 4, 5]]
[1, 2, [3, 4, 5]]

        如果想要完全拷贝列表以及其内部的对象,需要使用copy模块中的deepcopy函数,如下所示。

import copy
my_list = [1, 2, [1, 2]]your_list = list(my_list)  #工厂函数
his_list = my_list[:]      #切片操作
her_list = copy.copy(my_list)    #copy模块的copy函数
deep_list = copy.deepcopy(my_list) #copy模块的deepcopy函数your_list[2][0] = 3
print(my_list)
print(your_list)
print(his_list)
print(her_list)
print(deep_list)his_list[2][1] = 4
print(my_list)
print(your_list)
print(his_list)
print(her_list)
print(deep_list)her_list[2].append(5)
print(my_list)
print(your_list)
print(his_list)
print(her_list)
print(deep_list)输出
[1, 2, [3, 2]]
[1, 2, [3, 2]]
[1, 2, [3, 2]]
[1, 2, [3, 2]]
[1, 2, [1, 2]][1, 2, [3, 4]]
[1, 2, [3, 4]]
[1, 2, [3, 4]]
[1, 2, [3, 4]]
[1, 2, [1, 2]][1, 2, [3, 4, 5]]
[1, 2, [3, 4, 5]]
[1, 2, [3, 4, 5]]
[1, 2, [3, 4, 5]]
[1, 2, [1, 2]]

        此时无论怎么对原对象操作,deep_list都不会受到影响,因为此时不止列表对象是新的,连列表元素对象也是新的。        

http://www.mmbaike.com/news/95294.html

相关文章:

  • 做网站现在什么尺寸合适免费seo软件
  • 上海社区网站建设磁力吧ciliba
  • 手机网站做分享到朋友圈对网络营销的认识有哪些
  • 重庆ssc做号网站掉发脱发严重是什么原因
  • 怎么做网站赚钱最近营销热点
  • 百度怎样建立网站免费域名注册平台有哪些
  • 国外网站做调查大地seo
  • 房产中介如何做网站seozhun
  • c 开发微网站开发推广网站
  • 外包网站建设价格真正的免费建站在这里
  • 大连 建网站数据统计网站有哪些
  • 长沙做无痛肠镜东大医院l网站软文广告经典案例
  • 美工自学网360优化大师旧版
  • 淘宝客自己做网站网站宣传推广策划
  • 诸暨哪些公司可以制作网站自助建站的优势
  • 让其他公司做网站的话术seo工具软件
  • 大学科研项目做网站网站推广seo优化
  • 网站建设属于硬件还是软件怎么在百度上做推广上首页
  • 深圳网页制作培训深圳网站优化平台
  • 北京环评在那个网站上做朝阳网站建设
  • 泰安网站建设费用互动营销公司
  • 网站建设硬件需求百度百科推广费用
  • 武汉网站建设总部做推广的都是怎么推
  • 怎么做公司免费网站指定关键词seo报价
  • 重庆做网站公司移动端关键词排名优化
  • 河北网站建设模板网络竞价推广开户
  • 国际新闻最新消息今天新闻大谷歌seo搜索引擎下载
  • 石排镇做网站宁德市疫情
  • 网站导航栏字体百度平台商家客服电话
  • 郑州网站建设预订查看域名每日ip访问量