【问题标题】:What's the difference between a hash table and a Python dictionary? [closed]哈希表和 Python 字典有什么区别? [关闭]
【发布时间】:2020-08-17 08:00:32
【问题描述】:

我开始学习 C 中的哈希表数据结构,并且我注意到(如果我正确理解这个概念)哈希表与 python 字典非常相似。如果我不正确并且它们是两个完全不同的东西,有人可以向我解释哈希表是什么而不会太技术化吗?谢谢。

【问题讨论】:

  • 它们并不是完全不同的东西。概念是相同的,尽管实现将特定于不同版本的 CPython
  • 据我所知,它们的实现方式类似。每个索引用于生成哈希以定位给定索引处的值
  • 这个问题本质上类似于“汽车和福特福克斯有什么区别”。 Python dicts 属于哈希表的范畴。
  • 骗子显然比你的问题更广泛,但 Aaron Hall 的回答非常清楚地表明它们是 Python 中的哈希表,其中有很多细节可以让你协调你的 C 学习与 CPython

标签: python c dictionary hashtable


【解决方案1】:

它们之间没有任何区别。这就是为什么 python 的 dicts 不支持重复的原因。这也是为什么python有python字典默认使用的函数hash的原因。

【讨论】:

  • “第二个是接受自定义散列函数的那个​​” - 什么?不,它没有。 mapping 是 dict 或其他键值数据结构,而不是哈希函数。
猜你喜欢
  • 2012-04-03
  • 1970-01-01
  • 2016-03-20
  • 2011-05-24
  • 2011-01-04
  • 2011-07-07
  • 2012-12-30
  • 2023-03-04
  • 2011-08-31
相关资源
最近更新 更多