Hasty Briefsbeta

双语

Are Python Dictionaries Ordered Data Structures?

a year ago
  • #Python
  • #Dictionaries
  • #Data Structures
  • Python 3.6版本之前的字典是无序的。
  • 从Python 3.6开始,字典作为实现细节会保持插入顺序。
  • Python 3.7正式保证字典会保留插入顺序。
  • 字典会保留插入顺序,但它们不像序列(列表、元组)那样是有序的数据结构。
  • collections模块中的OrderedDict会维护顺序,并在相等性检查中考虑顺序。
  • 标准字典即使项目顺序不同也被视为相等,而OrderedDict则不同。
  • 序列(如列表)是有序的,顺序是它们的基本特征。
  • OrderedDict具有标准字典之外的功能,因此仍然有用。
  • 不同的数据结构满足不同的需求;没有一种结构能适用于所有目的。