在Python中打印集合结果的顺序

exe*_*ric 6 python

我是Python的新手.我有一个问题.有人可以帮助我.

我在命令提示符中执行以下操作:

>>> a=set()
>>> for i in range(0,8):
...     a.add((i,j))
... 
Run Code Online (Sandbox Code Playgroud)

我打印时得到的答案是这样的:

>>> a
set([(2, 7), (4, 7), (6, 7), (5, 7), (7, 7), (0, 7), (1, 7), (3, 7)])
Run Code Online (Sandbox Code Playgroud)

据我所知,它以其存储的方式打印出结果.但有没有办法可以让它订购?比如用这种方式说:

(0,7), (1,7), (2,7), (3,7), ...
Run Code Online (Sandbox Code Playgroud)

谢谢!

Mar*_*ers 11

你是对的,一个集合不会按排序顺序存储它的元素.如果要按排序顺序获取集合中的元素列表,可以使用内置函数sorted:

>>> a
set([(2, 7), (4, 7), (6, 7), (5, 7), (7, 7), (0, 7), (1, 7), (3, 7)])
>>> sorted(a)
[(0, 7), (1, 7), (2, 7), (3, 7), (4, 7), (5, 7), (6, 7), (7, 7)]
Run Code Online (Sandbox Code Playgroud)