You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中Set的迭代顺序在未修改前是否始终保持稳定?

Python中集合(set)在修改前的迭代顺序是否保持不变?

Python里的set是可变的无序集合,底层基于哈希表实现。和同样用哈希表实现的dict不同——自Python 3.7起,字典的迭代顺序被固定为插入顺序,但集合没有这个官方保证。

不过针对核心疑问:在未显式修改集合的代码执行过程中,Python解释器不会对该集合进行内部重哈希或重新分配操作。在程序的单次运行里,只要集合没有被增删元素,不管集合大小如何,多次迭代的顺序都是稳定一致的。

比如下面的代码,断言会始终成立:

s = {1, 4, 3, 5}
iter_result = [i for i in s]

# 执行其他不修改该集合的代码

assert [i for i in s] == iter_result  # 单次运行中始终成立

内容的提问来源于stack exchange,提问作者SLebedev777

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 10:24:57