首页 > 解决方案 > python中的set(sorted())方法

问题描述

当我在 python 中的集合上使用排序时,它返回排序列表。但我想退回套装。我试过set(sorted())了,但它没有对集合进行排序。我尝试了另一种方式。但是为什么 set(sorted()) 不对集合进行排序?

我尝试过的代码

标签: pythonsortingset

解决方案


集合是未排序的,这是它们的本质。取一个集合(或任何集合)然后对其进行排序,然后从中制作一个集合,不太可能产生排序结果。

如果您需要排序方式的项目,您应该将它们变成可以排序的东西(如列表,这是您从中得到的sorted(someSet))。例如:

>>> a = {100, 99, 1, 2, 5, 6}    # A set

>>> sorted(a)                    # A sorted list from that set.
[1, 2, 5, 6, 99, 100]

>>> set(sorted(a))               # An (unsorted) set from that sorted list.
{1, 2, 99, 100, 5, 6}

推荐阅读