【发布时间】:2018-01-16 19:48:23
【问题描述】:
由于 Python 3.6 中 dict 实现的更改,现在默认排序。 sets 现在也保持秩序吗?
我找不到任何关于它的信息,但由于这两种数据结构在它们的底层工作方式上非常相似,我认为可能是这种情况。
我知道dicts 不会在所有情况下都被订购,但大多数情况下都是如此。如 Python 文档中所述:
这个新实现的顺序保留方面被认为是一个实现细节,不应依赖
【问题讨论】:
-
@byxor 你不应该依赖随机顺序,集合是任意排序的,但由于散列而不是随机的
-
如果您对 为什么 集合不按插入顺序感兴趣,请参阅Why don't Python sets preserve insertion order?
标签: python set python-3.6 cpython python-internals