Python 中集合(set)的 pop 顺序问题

2018-07-24 12:45:31 +08:00
 U87

既然 set 是无序的,那么为什么 set.pop()每次都是弹掉最左一. 另外 list 的 pop 是最右一,这容易理解,list 的 pop 是弹掉最后一个元素,对于列表来说,越右就越后. 那么 set 的 pop 怎么理解啊

3285 次点击
所在节点    问与答
3 条回复
sagaxu
2018-07-24 13:00:32 +08:00
既然是无序 set,就没有左右之分,何来第一个?
Wincer
2018-07-24 13:09:15 +08:00
谁和你说 set.pop() 每次都是弹掉左一?
另在固定散列值的 set 中,pop 的顺序是按照在哈希表中出现的顺序弹出的
Hstar
2018-07-24 13:11:47 +08:00
set 本身是无序的,但是被打印出来后就是有序的,所以表现出来就是弹掉左一。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/473642

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX