Python中字典的用法

发布时间:2024年01月24日

字典dict{}

字典数字自动排序

enumerate 枚举

for?i,k?in?enumerate(dic,1)?#第二个参数默认不写就是0???????????---枚举
????print(i,k)

dict,以{}来表示每一项用逗号隔开,内部元素用 key:value的形式来保存

定义

dict_l?=?{'jj':'林俊杰','jay':'周杰伦'}
dic?=?dict(k=1,k1=123)

查询效率非常高,通过Key来查找元素

内部使用key来计算一个内存地址(暂时),hash算法,key必须是不可变的数据类型(key是可哈希数据类型)

1.dic[''] =''

dic?=?{}
#徐峥:人在囧途
dic['徐峥']='人在囧途'????#直接用key往里面存数据
dic?=?{'徐峥':?'人在囧途'}
#如果key?已经存在,那么会替换掉原来的value

2.dic.setdefault('?')

dic.setdefault('黄秋生','头文字D')
#如果key存在了,不会执行新增

1.pop('key')

dic.pop('key')??????#指定key删除

2.popitem()

dic.popitem()???????#Python3.6版本默认删除最后一个键值对

3.del

del?dic['key']??????#删除

4.clear()

dic.clear()?????????#清空字典

1.用key直接去改

dic?=?{'烟台':'李文浩','潍坊':'聂冰'}
dic['烟台']='李小龙'?????#dic?=?{'烟台':'李小龙','潍坊':'聂冰'}

2.update() dic.update({1:2,'a':'a1'})

有则改,无则增
dic?=?{'烟台':'李文浩','潍坊':'聂冰'}
dic1?=?{'烟台':'李小龙','潍坊':'赵秋雨'}
dic.update(dic1)
????#dic?=?{'烟台':'李小龙','潍坊':'赵秋雨'}

只能通过建获取值不能通过值获取建

1.最直观的,直接用key,存在就返回键对应的值,如果不存在报错

dic?=?{'烟台':'李文浩','潍坊':'聂冰'}
print(dic['烟台'])????????????#李文浩

2.get方法,如果key不存在会返回None

print(dic.get('key','自己定义返回内容'))????#李文浩
????????????????????#如果不存在默认返回None,可以自己定义

setdefault()?

1.新增(先看有没有key,有就过,没有就执行新增)

2.会根据key把值返回

value?=?dic.setdefault('key')
print(value)????#返回vaule

字典的相关操作

直接for循环打印的是字典的key

1.对字典的遍历 keys()拿到的是 所有的key

dic?=?{'汪峰':'亚洲舞王','罗志祥':'大陆音乐的半壁江山'}
print(dic.keys())???????#像列表但不是列表
for?key?in?dic.keys():??
????print(dic[key])?????#拿到value

2.valus() 拿到的是 所有的valu

prin(dic.values())

3.items() #拿到的是key和value [(key:value),(key:value),]

print(dic.items)

4.遍历字典

for?k,v?in?dic.items():
????print(k)
????print(v)

5.字典本身是一个可迭代对象,可以直接进行for循环for k in dic:

????print(k)
文章来源:https://blog.csdn.net/hakesashou/article/details/135830143
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。