python入门—字典


字典是‘键值对’的无序可变序列,字典中的每个元素都是一个键值对,包含‘键’和‘值对象’
‘键’是任意的不可变数据
‘值’可以是任意的数据,并且可以重复
a={‘name’:‘HT’,'age":18,‘job’:‘student’}

字典的创建

{}
dict(x=a,y=b) 注意键不用加**‘’**
dict([(x,y,z),(a,b,c)])
dict.fromkeys([x,y]) 创建值为空的字典
在这里插入图片描述
在这里插入图片描述

字典元素的访问

a[key] 若没有这个键 报错
a.get(key) 没有这个键返回空格
a.get(key,x) 没有这个键返回x
a.items() 列出所有的键值对
a.keys() 列出所有的键
a.values() 列出所有的值
len(a) 键值对个数
key in a 检验一个键是否在字典中
在这里插入图片描述

字典元素添加、修改、删除

a[key]=x 如果键存在,则会自动覆盖
a.update(b) 将b中所有键值对全部添加到a上。如果有Key重复,则直接覆盖
del(a[key]) 删除键值对
b=a.pop(key) 删除键值对,并返回对应值对象
a.clear()
a.popitem() 随机删除和返回该键值对。
在这里插入图片描述

序列的解包

序列的解包可以用于元组、列表、字典。序列解包可以让我们方便的对多个变量赋值。
x,y,z=a,b,c
x,y,z=(a,b,c)
(x,y,z)=(a,b,c)
[x,y,z]=[a,b,c]
序列解包用于字典时,默认是对键进行操作。
x,y,z=a
x,y,z=a.items()
x,y,z=a.values()
在这里插入图片描述

字典核心底层原理

字典对象的核心是散列表。
散列表是一个稀疏数组(总是有空白的数组)
数组的每个单元叫做bucket
每个bucket有两部分:一个是键对象的引用,一个是值对象的引用
将一个键值对放入底层的过程
散列表的偏移量
键的散列值

  • List item

哈希方法

bin(hush(key))

在这里插入图片描述
根据键查找“键值对”的底层过程
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值