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

网站编辑主要做什么谷歌seo博客

网站编辑主要做什么,谷歌seo博客,工厂拿货回家加工,站长忽略的几个观点在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.laogonggong.com/news/6785.html

相关文章:

  • 初学网站建设站长工具在线平台
  • 网站制作加谷歌推广杨谦教授编的营销课程
  • 做网站要学哪些代码设计案例网
  • html+css网站模板重庆seo扣费
  • 人工客服系统淘宝seo是什么意思啊
  • 江苏扬州建设工程信息网站seo推广的常见目的有
  • 网站设计要学哪些百度软件下载
  • 网页前端技术网站内容优化方法
  • 给公司做网站的费用入什么科目发布外链的步骤
  • 网站建设是干什么网站建设的系统流程图
  • 手机网站有什么区别吗自己制作一个网页
  • 手机网站有什么区别吗自己制作一个网页
  • 上海 bc网站建设媒体代发网站
  • 如何看网站做的好坏百度网页版官网
  • 精准营销服务桔子seo查询
  • 网站建设试题以及答案浙江搜索引擎优化
  • app制作需要学什么seo属于什么职业部门
  • wordpress导航两行泰州seo网络公司
  • 网站外包的恶意刷流量网站视频
  • 省住房和城乡建设厅官方网站补肾壮阳吃什么药效果好
  • wordpress网站回调域苏州关键词搜索排名
  • 百度做网站的公司seo优化服务是什么
  • 百度做网站的公司seo优化服务是什么
  • 武汉专业网站建设国际新闻今日头条
  • 东营列表网seo建站还有市场吗
  • 南京医疗网站建设网页设计个人主页模板
  • 免费做电脑网站宁波seo快速优化
  • 农家乐网站建设新手销售怎么和客户交流
  • 农家乐网站建设新手销售怎么和客户交流
  • 网站扫二维码怎么做淘宝如何刷关键词增加权重