
字典dict{}
字典数字自动排序
enumerate 枚举
1 2 | for i,k in enumerate(dic,1) #第二个参数默认不写就是0 ---枚举
print (i,k)
|
dict,以{}来表示每一项用逗号隔开,内部元素用 key:value的形式来保存
定义
1 2 | dict_l = { 'jj' : '林俊杰' , 'jay' : '周杰伦' }
dic = dict(k=1,k1=123)
|
查询效率非常高,通过Key来查找元素
内部使用key来计算一个内存地址(暂时),hash算法,key必须是不可变的数据类型(key是可哈希数据类型)
增
1.dic[''] =''
1 2 3 4 5 | dic = {}
#徐峥:人在囧途
dic[ '徐峥' ]= '人在囧途' #直接用key往里面存数据
dic = { '徐峥' : '人在囧途' }
#如果key 已经存在,那么会替换掉原来的value
|
2.dic.setdefault('⭐')
1 2 | dic.setdefault( '黄秋生' , '头文字D' )
#如果key存在了,不会执行新增
|
删
1.pop('key')
2.popitem()
1 | dic.popitem() #Python3.6版本默认删除最后一个键值对
|
3.del
4.clear()
相关推荐:《Python视频教程》
改
1.用key直接去改
1 2 | dic = { '烟台' : '李文浩' , '潍坊' : '聂冰' }
dic[ '烟台' ]= '李小龙' #dic = { '烟台' : '李小龙' , '潍坊' : '聂冰' }
|
2.update() dic.update({1:2,'a':'a1'})
1 2 3 4 5 | 有则改,无则增
dic = { '烟台' : '李文浩' , '潍坊' : '聂冰' }
dic1 = { '烟台' : '李小龙' , '潍坊' : '赵秋雨' }
dic.update(dic1)
#dic = { '烟台' : '李小龙' , '潍坊' : '赵秋雨' }
|
查
只能通过建获取值不能通过值获取建
1.最直观的,直接用key,存在就返回键对应的值,如果不存在报错
1 2 | dic = { '烟台' : '李文浩' , '潍坊' : '聂冰' }
print (dic[ '烟台' ]) #李文浩
|
2.get方法,如果key不存在会返回None
1 2 | print (dic.get( 'key' , '自己定义返回内容' )) #李文浩
#如果不存在默认返回None,可以自己定义
|
setdefault()
1.新增(先看有没有key,有就过,没有就执行新增)
2.会根据key把值返回
1 2 | value = dic.setdefault( 'key' )
print (value) #返回vaule
|
字典的相关操作
直接for循环打印的是字典的key
1.对字典的遍历 keys()拿到的是 所有的key
1 2 3 4 | dic = { '汪峰' : '亚洲舞王' , '罗志祥' : '大陆音乐的半壁江山' }
print (dic.keys()) #像列表但不是列表
for key in dic.keys():
print (dic[key]) #拿到value
|
2.valus() 拿到的是 所有的valu
3.items() #拿到的是key和value [(key:value),(key:value),]
4.遍历字典
1 2 3 | for k,v in dic.items():
print (k)
print (v)
|
5.字典本身是一个可迭代对象,可以直接进行for循环for k in dic: