【发布时间】:2019-03-28 02:09:36
【问题描述】:
我正在尝试通过向其中添加元素来对 python 中的集合进行排序。我尝试使用 sorted() 方法,但它将我的集合转换为列表。我需要对我的元素进行排序并将其作为一个集合打印出来。我该怎么做?
我尝试使用 sorted() 方法并获得了一个列表。试图将列表放入一个集合中。但是,没有收到所需的结果
a={}
a=set()
a.add(1)
a.add(-1)
a.add(0)
a.add(4)
a.add(-3)
print(a)
预期结果: {-3, -1, 0, 1, 4} 实际结果: {0、1、4、-3、-1}
【问题讨论】:
-
集合没有顺序,如果你想要一个有序的集合,列表可能是个好方法
-
set是无序的。他们没有订单。如果您愿意,可以在 Python 3.7+ 中使用OrderedDict或仅使用dict。 -
@Tomothy32 在这里请注意,Python3.6 及更高版本中的
dict仅保留CPython 实现中的插入顺序。 -
@mttpgn 在 3.6 中,它是一个 CPython 实现细节。在 3.7+ 中,它是标准的一部分。