【发布时间】:2016-04-23 02:45:07
【问题描述】:
在尝试对排列进行排序时,我遇到了一个非常奇怪的问题。
正如我之前在 SO 上看到的,使用集合对列表进行排序和区分是可行的方法,但对于一个特定的列表,这似乎行不通。我们可以以此为例
>>> set([2,1])
{1, 2}
>>> set([1,2,1])
{1, 2}
>>> set([513, 135, 531, 153, 315, 351])
{513, 135, 531, 153, 315, 351}
>>>
谁能给我指导?
【问题讨论】:
-
集合是无序的
-
不知道你在这里看到什么帖子说
set类型是一种整理东西的方法,但这是错误的。 -
@TigerhawkT3 在这里:stackoverflow.com/questions/4211209/…
-
@RASG - 将事物设置为 an 顺序...任意顺序,因实现而异。实现者可以选择
sorted()使用的相同顺序,或者相反,或者添加随机化,或者他们想要的任何东西。这个问题是关于为什么一个特定的实现不会以与sorted()相同的顺序迭代集合,答案是编写它的人不想要它。这就是 Python 集被认为是未排序的原因。