流畅的python--dict的优点以及缺点

1.健必须是可散列的。
    用户自己实现的对象默认都是可散列的,因为id()不同。一个可散列对象应该有以下属性:
    支持hash()函数,通过hash()方法得到的散列值是不变的。
    可以通过eq()方法来检测相等性
    如果a == b,那么hash(a) == hash(b)

2.字典内存开销大
    因为字典是由散列表实现的,散列表中肯定对出现一些稀疏,这就导致了字典会占用一些空间。当然和字典的速度相比这点内存是可以忽略的。

3.字典的健顺序不是唯一的
    由于散列表在插入或者读取时候可能会产生散列冲突,这就导致了字典中健的顺序不是唯一的,但是不管字典健的顺序怎么变,如果两个字典健值对都一样那么这两个字典都是相等的:

a = {
    "1":1,
    "2":3,
    "3":4,
    "4":4
}
b = {
    "3":3,
    "4":4,
    "1":1,
    "2":2
}
a == b
True
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值