python__字典_深拷贝,浅拷贝
字典的定义 大括号{}
例如:
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
思考:为什么要有字典,字典的意义是什么?
#元组跟列表是一模一样的,唯一不一样的地方就是不可以修改