Python 字典小结

字典:是无序的,可变的键值对集合

表达方式

方式1:

{key:value,key:value.....}

方式2:

类调用 dict.fromkeys("abc",666) 字典类型

对象调用 dic.fromkeys("abc",666)实例化的字典对象

key不能重复,不然后面的会重复前面的,key必须是任意不可变类型

原因:Python的字典,采用的是Hash的方式实现的,

存储过程:先初始化一个表格,用来存放所有的值,根据给定的key值,通过某些操作,得到一个在hash表中的索引位置,根据索引位置,存储给定的值。

再次使用hash表,将key值转换为对应值的列表索引,并定位到列表位置获取值。

存在的意义:使查询效率变高

常用操作

dic[key] = value

当key在字典里不存在是,即为新增操作。

del dic[key]

这里的key一定要存在,否则报错

dic.pop(key[,default])

删除指定的键值对,并返回对应的值,如果key不存在,那么直接返回给定的default值,同时不做删除操作,如果也没有给定default值,则会报错

dic.poptime()

删除按升序排序后的第一个键值对,并已元组的形式返回该键值对。如果字典为空,则报错

dic.clear()

删除字典内所有的键值对,返回None,字典对象本身还是存在的,只不过内容被清空了。

del :是直接删除了字典

智能改值,不能修改key值。dic[key] = value

批量修改键值对

oldDic.update(newDic)

根据新的字典,批量更新旧字典中的键值对,如果旧字典没有对应的key,则新增键值对。

查找

获取单个值

方式1、dic[key] 如果key不存在,则报错

方式2、dic.get(key[,default]),如果key不存在,也不指定defaluta,则返回None,但不会报错

方式3、dic.setdefault(key[,default]),与上述唯一不同,它会在原字典里新增这个键值对。

获取所有的值

dic.keys()

获取所有的值

dic.values()

获取所有的键值对

dic.items()

这里Python2.x版本跟3不一样,2 是把结果当做列表,哪怕后期往字典里添加键值对也不影响已得到的结果,但3是可以的,主要把它当成了Dictionary view objects ,当字典发生改变时,它对应的也发生改变。

遍历

先遍历所有的keys,然后根据指定的key值,获取对应的值

先遍历所有的键值对,直接获取对应的值,又因为键值对的结果是元组,故可以拆包,直接写为

for k,v in dic.items():

print(k,v)

计算

len(d)

判定

in:用于判定key值存在否

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值