优草派 > Python

python中哈希结构有哪几种?python哈希表中常用的数据结构有哪些?

翟嘉慧         优草派

前面对哈希表的学习,我们已经在数组中有所使用,简单的来说就是通过下标定位某一种数据的方法。那么,我们学习的一些python知识点,也会体现出一些哈希结构。本篇所要讲的是字典和集合这两种,关于具体的哈希结构会就这两个方面分别展开介绍,下面一起来看看这篇文章吧。

python中哈希结构有哪几种?python哈希表中常用的数据结构有哪些?

1、字典

在Python字典的使用中,包含了哈希表中的一些字段,其中有两个数组是可以用来真正的存储数据的,它们分别是dk_indices[]和dk_entries[],将kv数据保存在dk_entries[]数组中,dk_indices[]来存储kv数据在dk_enties数组中保存的索引。其中每个 kv 数据以entry的数据结构来存储,如下:

typedef struct {
使用me_key的方式缓存哈希代码
    Py_hash_t me_hash;
    PyObject *me_key;
    PyObject *me_value; 这个字段只在哈希表中有一定的意义。
} PyDictKeyEntry;

在代码中,使用me_hash缓存存key的哈希值,这是为了防止哈希值的重复计算。me_key和me_value便是key和value的真正数据了。

2、集合

在集合的操作中,和字典是差不多的,使用的底层数据也是哈希结构,但是和字典进行比较的话,它只有key,并没有values,相对于字典来说,集合的使用是比较的简单的,它在集合和字典一样,底层也是哈希结构,和字典相比,可理解为只有 key,没有 values。

它在PySetObject中可以直接保存存储数据为数组。根据集合的底层数据结构分析,它解决哈希冲突也是使用的「开发寻址法」。

以上就是python中哈希结构有哪几种?python哈希表中常用的数据结构有哪些?的两种讲解方法,对于字典和集合的学习,大家可以结合哈希结构的内容进行深入探索,学会后可以就代码部分进行练习。

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024