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

为何我的Python代码与教材中set变量的输出顺序不同?

字典转集合后输出顺序和教材不一致,是哪里错了?

教材中的代码及输出:

dict1 = {'satu': 100, 'dua': 100, 'tiga': 100, 'empat':200}
set1 = set(dict1)
set1
# 教材显示结果:
{'tiga', 'dua', 'empat', 'satu'}

我运行相同代码的输出:

dict1 = {'satu': 100, 'dua': 100, 'tiga': 100, 'empat':200}
set1 = set(dict1)
set1
# 我的运行结果:
{'satu', 'dua', 'empat', 'tiga'}

请问我是不是漏了什么知识点?


你完全没遗漏任何要点,这是Python集合的固有特性:

  • 集合(set)是无序的数据结构,它不会保留元素的插入顺序,也不保证任何固定的输出顺序。
  • 把字典转为集合时,实际上是将字典的所有键(keys)提取出来存入集合,但这些键在集合中的排列顺序是随机的——不同Python版本、不同运行环境甚至同一段代码多次运行,都可能得到不同的顺序。
  • 只要集合包含了所有字典的键,不管顺序如何,这个结果就是正确的,无需纠结顺序问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 12:35:04