python__字典_深拷贝,浅拷贝 python__字典_深拷贝,浅拷贝

python__字典_深拷贝,浅拷贝

 2049147116

字典的定义 大括号{}

例如:

dic ={'name':'cdm','age':'24'}

#字典的元素是由一个key 和value组成

#字典的基本的四种操作

#查询

#get方法获取或者中括号方式获取,两种方式的区别是 get的方式不会报错,而中括号方式会报错

print(dic.get('name'))                print(dic['name'])

 循环字典:

#下面这种尽量少用,针对数据量少的

for K,V  in acc1.item():

    print(k,v)

#循环字典一般用下面这种

for key in acc1:

    print(key,acc1[key])

#增加

dic[‘gender’]='female'

#增加后位置不定向,字典是无序的,根据key来获取,而列表是有序的,根据下标获取

#修改

#key不可以修改,只能修改value

dic[‘name’] =‘jack’

#删除

del dic['name']

#key定义规则:1,不可变,字符串与数据是不可变类型和元组;------【可变:列表,字典】  #如何判断是否可变  hash()测试

                        #2,key是唯一,因为字典取值是通过key来获取的

                  

#value定义规则:可以是任意类似

#字典的内置方法

dic.clear()   #清空

dic.copy  #复制

dic.fromkeys()  #快速生成字典,

dic.items()  #按照l列表方式,套元组方式排列

dic.keys() #把字典中所有的key取出来,此方法可以根据key获取value

dic.pop()#里面要写key,删除功能

dic.popitem() #不写参数,就随机删除,如果指定key值,会报错

dic.setdefault()#增加一个值

dic.update(dic1)  #相当于将dic1加入到dic里面

dic.values()#取字典里面所有的values

dic.copy()

#浅拷贝,第一层数据独立,第二层数据不独立,叫浅拷贝

dic ={'name':'chendm','age':'24','gfs':['xiaojie','xiaosi']}
dic2= dic.copy()
dic2['name']='xiaoyu' #第一层数据独立
dic2['gfs'][1]='xiaohua' #第二层数据不独立

#深拷贝
import copy #copy 里面的copy就是浅拷贝,
copy.deepcopy(dic)
为什么有浅copy与深copy,一般不用copy,要用也是用浅copy,应用场景,
比如银行里面的共同账户,比较常用到浅copy

思考:为什么要有字典,字典的意义是什么?

#元组跟列表是一模一样的,唯一不一样的地方就是不可以修改

字典的定义 大括号{}

例如:

dic ={'name':'cdm','age':'24'}

#字典的元素是由一个key 和value组成

#字典的基本的四种操作

#查询

#get方法获取或者中括号方式获取,两种方式的区别是 get的方式不会报错,而中括号方式会报错

print(dic.get('name'))                print(dic['name'])

 循环字典:

#下面这种尽量少用,针对数据量少的

for K,V  in acc1.item():

    print(k,v)

#循环字典一般用下面这种

for key in acc1:

    print(key,acc1[key])

#增加

dic[‘gender’]='female'

#增加后位置不定向,字典是无序的,根据key来获取,而列表是有序的,根据下标获取

#修改

#key不可以修改,只能修改value

dic[‘name’] =‘jack’

#删除

del dic['name']

#key定义规则:1,不可变,字符串与数据是不可变类型和元组;------【可变:列表,字典】  #如何判断是否可变  hash()测试

                        #2,key是唯一,因为字典取值是通过key来获取的

                  

#value定义规则:可以是任意类似

#字典的内置方法

dic.clear()   #清空

dic.copy  #复制

dic.fromkeys()  #快速生成字典,

dic.items()  #按照l列表方式,套元组方式排列

dic.keys() #把字典中所有的key取出来,此方法可以根据key获取value

dic.pop()#里面要写key,删除功能

dic.popitem() #不写参数,就随机删除,如果指定key值,会报错

dic.setdefault()#增加一个值

dic.update(dic1)  #相当于将dic1加入到dic里面

dic.values()#取字典里面所有的values

dic.copy()

#浅拷贝,第一层数据独立,第二层数据不独立,叫浅拷贝

dic ={'name':'chendm','age':'24','gfs':['xiaojie','xiaosi']}
dic2= dic.copy()
dic2['name']='xiaoyu' #第一层数据独立
dic2['gfs'][1]='xiaohua' #第二层数据不独立

#深拷贝
import copy #copy 里面的copy就是浅拷贝,
copy.deepcopy(dic)
为什么有浅copy与深copy,一般不用copy,要用也是用浅copy,应用场景,
比如银行里面的共同账户,比较常用到浅copy

思考:为什么要有字典,字典的意义是什么?

#元组跟列表是一模一样的,唯一不一样的地方就是不可以修改

猜你喜欢

转载自www.cnblogs.com/sagaa23/p/12064671.html