编程语言
首页 > 编程语言> > 《流畅的Python》Data Structures--第3章 dict 和 set

《流畅的Python》Data Structures--第3章 dict 和 set

作者:互联网

dict and set

字典数据活跃在所有的python程序背后,即使你的源码里并没有直接使用它。

和dict有关的内置函数在模块builtins的__dict__内。

>>> __builtins__
<module 'builtins' (built-in)>
>>> __builtins__.__dict__

 

dict之所以在python中起到至关重要的作用,是因为Hash table。

本章内容:

 

 Generic Mapping Types

标准库中所有的映射类型都是利用dict来实现。

key必须是hashable的数据类型。

 

什么是Hashable?

根据这个定义,str, bytes, 数值类都是hashable的。元祖的所有元素都是hashable的话,元祖也是hashable。

>>> a = {}
>>> hash(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'dict'
>>> a = []
>>> hash(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> a = (1, 2, (1, 2))
>>> hash(a)
-1429464707349485113
>>> a = "hello"
>>> hash(a)
1326837820661389949

 

使用hash()可知一个对象是否是hashable。

 

 

 

 

 

 

 

 

标签:__,hashable,set,hash,Python,dict,builtins,Structures
来源: https://www.cnblogs.com/chentianwei/p/12007135.html