0
A
回答
4
在CPython中,sets和dicts使用相同的基本数据结构。集略微不同地调整它,但它基本上就像字典一样是一个散列表。
您可以查看C代码中的实现细节:setobject.c
和dictobject.c
;实现非常接近; setobject.c
实施最初是作为dictobject.c
的副本而开始的。 dictobject.c
有更多的实现注释和跟踪调用,但核心函数的实际实现仅在细节上有所不同。
最明显的区别在于,散列表中的键不用于引用值,如在字典中,所以setentry
struct只有一个兑现散列和键,dictentry
struct添加一个值指针。
在我们拥有内置set
之前,我们有了sets
module,这是一个纯Python实现,它使用dict
对象将设置值作为关键字进行跟踪。在sets
模块可用之前的Python版本中,我们做到了这一点:使用dict
对象以键作为设置值,以跟踪唯一的无序值。
0
这两个在后端使用相同的数据结构。例如在集合中,您不能存储重复值,但在字典中,您可以存储多个相同的值,并且可以通过更改字典的行为来设置字典集
相关问题
- 1. memcache和python字典之间的区别
- 2. 地图和字典之间的区别
- 3. 对象和字典之间的区别?
- 4. perl的散列和python的字典之间的区别
- 5. 字典和python中的ordereddict之间的区别
- 6. HashMap与字典之间的区别ADT
- 7. 定义字典之间的区别
- 8. 期货和设置内线程之间的区别
- 9. Python字典理解与循环之间的区别
- 10. python中的[]和[,,]之间的区别
- 11. 外部和内部表格性能之间的区别?
- 12. 内部IP地址和外部IP地址之间的区别
- 13. android sha224和python之间的区别sha224
- 14. Python - os.access和os.path.exists之间的区别?
- 15. python:!=和<>之间的区别?
- 16. Python中cStringIO.StringIO.write和String.StringIO.write之间的区别
- 17. Python - docopt和argparse之间的区别
- 18. ruby和python之间的语法区别?
- 19. basetring和types.StringType之间的python区别?
- 20. python pygir-ctypes和gi.repository之间的区别
- 21. randn和普通Python之间的区别
- 22. Python中dir()和locals()之间的区别?
- 23. Python 3.5 - '//'和'int()'之间的区别
- 24. NodeJS和Python散列之间的区别
- 25. Smalltalk和python之间的区别?
- 26. Python:!=和“不是”之间的区别
- 27. Python:`is`和`==`之间的区别?
- 28. python tkinter spinbox和optionmenu之间的区别
- 29. [:] = b和a = b [:]之间的区别? (Python)
- 30. dexing和部署之间的区别?