【问题标题】:python set type not sorted [duplicate]python集类型未排序[重复]
【发布时间】: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 集被认为是未排序的原因。

标签: python sorting


【解决方案1】:

集合根据定义是一个无序的集合。

要从集合中获取排序集合,请使用

sorted(set([2,1]))

https://docs.python.org/2/library/sets.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-28
    相关资源
    最近更新 更多