当一个集合中的全部类型为数值时,pop()将升序输出,这一点不明白,集合不是无序的吗?
翻译:
当一个集合中的所有类型都是数值型时,pop()将以升序输出。我不知道为什么,这个集合不是无序的吗?
s = {2,5,3,7,0} for i in range(5): print(s.pop())
输出:0 2 3 5 7
发布于 2018-11-14 22:17:44
如果数字更高,就不会发生这种情况
>>> l=list(range(655360, 6553600))
>>> for _ in range(20):
... el = ra.choice(l)
... s.add(el)
... print(el)
...
3589721
2762448
1543072
4489208
5381194
4181645
1470069
6256052
5833067
6288785
3707357
1414093
3347945
1358111
1754489
4503096
3424305
2233038
4817376
3941735
>>> for _ in range(10):
... print(s.pop())
...
4181645
6288785
1358111
1543072
3424305
6256052
4503096
5381194
1414093
2233038这是一个Python实现细节,您不应该依赖它。
按照评论中的建议,请参阅this answer
https://stackoverflow.com/questions/53302086
复制相似问题