1、dict 字典
key-value
储存大量的数据,而是关系型数据,查询速度快。
dic = {
'name':'老男孩',
‘age’:17,
'name_list': [王 王 王 王 王 王 王]
1:True.
}
数据类型分类:
可变数据类型(不可哈希):list,dict,set
不可变数据类型(可哈希):int,bool,str,tuple
字典的键:不可变数据类型
字典的值:任意数据类型
容器类型:
容器类(承载各种数据类型):list,tuple,dict
字典的键是唯一的。
字典的顺序:
3.5之前,字典是无序的
3.6开始,字典创建的时候,按照一定的顺序插入的数值,看起来是有序的
增
第一种:有责覆盖,无则添加
dic['hobby'] = 'girl'
第二种 setdefault 无则添加,有则不变
dic.setdefault('hobby')
dic.setdefault('hobby','girl')
删
pop 有返回值 返回被删除的值
print(dic.pop('age'))
print(dic)
dic.pop('hobby') #字典中无hobby 会报错
print(dic.pop('hobby',None)) #返回设定好的值 也就是None
clear 清空效果和列表相同
dic.clear()
print(dic)
del
del dic
print(dic) #dic已被删除 报错
del dic['name']
print(dic)
dic.popitem() #随机删除 有返回值
print(dic.popitem())
print(dic)
改
dic['name'] = '太白'
print(dic)
两个字典的改
dic= {'name':'jin','age':18,'sex':'male'} dic2= {'name':'alex','weight':75} dic2.update(dic) #将dic键值对 覆盖并添加到dic2 print(dic) print(dic2)
查
print(dic['name'])
print(dic['name1']) #报错
print(dic.get('name'))
print(dic.get('name1')) #默认返回None
print(dic.get('name1','没有此键值对')) #返回没有此键值对
其他方法:
keys() value() items()
print(dic.keys(),type(dic.keys()))
print(dic.keys())
遍历dic字典的键
for i in dic.keys(): print(i) for i in dic: print(i)
li = list(dic.keys())
print(li)
print(dic.value())
print(dic.items())
for i in dic.items():
print(i)
特殊类型dict转换成list
print(list(dic.keys()))
概念:分别赋值
a,b= 2,3
a,b=(2,3)
a,b= [2,3]
a=4,b=5
a,b=b,a # a,b数值调换
print(dic.items())
for k,v in dic.items()
print(k,v)
2、dict的嵌套
dic= {'nem_list':['王三','lisi','隔壁老王'], 'dic2':{'name':'太白','age':12} }
给列表追加一个元素:‘’旺旺‘’
dic['name_list'].append('旺旺')
print(dic)
给列表lisi全部大写
dic['name_list'][1]= dic['name_list'][1].upper()
print(dic)
给dic2对应的字典添加一个键值对:hobby:girl
dic['dic2']['hobby']='girl'
print(dic)