哈希表和Python字典有什么区别?

5

我开始学习C语言中的哈希表数据结构,并且注意到(如果我理解正确),哈希表与Python字典非常相似。如果我错误了,它们是两个完全不同的东西,有人能否简单地解释一下哈希表是什么,而不涉及太多技术细节?谢谢。


4
它们并不完全是不同的东西。概念是相同的,尽管在不同版本的CPython中实现会有所不同。 - roganjosh
2
据我所知,它们以类似的方式实现。每个索引用于生成哈希值以定位给定索引处的值。 - GTBebbo
5
这个问题本质上类似于“汽车和福特Focus之间的区别是什么”。Python字典属于哈希表的一种。 - user2357112
1
这回答解决了您的问题吗?[Python内建字典是如何实现的?] (https://dev59.com/MXRC5IYBdhLWcg3wVvnL) - roganjosh
1
显然,这个问题比你的问题更广泛,但是Aaron Hall的答案非常清楚地说明了它们是Python中的哈希表,并且其中有足够的细节让你将C语言学习与CPython相结合。 - roganjosh
显示剩余3条评论
1个回答

2

它们之间实际上没有任何区别。这就是为什么Python的字典不支持重复项的原因。这也是Python有默认使用的hash函数的原因,Python的字典会用到它。


2
第二个是接受自定义哈希函数的对象?不,它不是。mapping 是一个字典或其他键值数据结构,而不是哈希函数。 - user2357112

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接