码迷,mamicode.com
首页 > 编程语言 > 详细

Python基础

时间:2020-04-30 13:12:43      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:内容   font   自己   alt   bool   理解   st3   新建   port   

1.数据类型:

# 可变:

list ,dict ,set(集合)

# 不可变:

int bool str tuple

# 有序: list,tuple,str,int,bool # 无序: dict(python3.6以后可以是有序的了),set


# 取值方式: # 索引: str list tuple # 直接: set ,int ,bool # 键: dict

 

2.深浅拷贝:

import copy

lst1=[1,2,3]

lst2=copy.copy(lst1)#浅拷贝

lst3=copy.deepcopy(lst1)#深拷贝

lst4=lst1 #赋值

 

定义:

浅拷贝 :

浅拷贝只拷贝第一层(如果有列表嵌套,他会复制那一个索引位置的列表的内存地址,而那个列表内的数据不会复制,说白了就是共用内部的list,最外层的list是自己新建的)

 

深拷贝:

可变类型拷贝,不可变类型共用(列表嵌套时,内层的列表地址不会复制,因为list是可变的,他是自己创个内部的list,然后共用list内的不可变元素的地址)

 

注:

  如果发生了拷贝,内存地址一定发生变化,说白了拷贝就是自己新建地址,放复制过来的内容.

 

如下图:深浅拷贝如果只拷贝一个单一的列表(列表内不包含字典列表等可变元素)的情况下,深浅拷贝效果都一样:

技术图片

 

 重点(这里要着重理解):

列表内部加了列表后(深浅拷贝就不一样了):

技术图片

 

Python基础

标签:内容   font   自己   alt   bool   理解   st3   新建   port   

原文地址:https://www.cnblogs.com/shengjunqiye/p/12808211.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!