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

Python中向字典添加嵌套字典时集合元素顺序不符求助

问题分析与解决办法

你代码里的{255,1,2}不是嵌套字典,而是集合(set)。集合的核心特性就是无序性,不管你定义时的元素顺序是什么,输出时都会自动调整;而且两个集合的元素完全相同,所以看起来结果一模一样。

如果想要保留元素的定义顺序,或者实现真正的嵌套字典,有两种解决方式:

1. 用列表/元组保留顺序

如果只是需要按固定顺序存储数值,把集合换成列表(方括号[])或元组(圆括号())即可:

Colors = {}

a = {"1:1": [255, 1, 2]}
b = {"2:1": [1, 255, 2]}
Colors.update(a)
Colors.update(b)

print(Colors)

运行输出:

{'1:1': [255, 1, 2], '2:1': [1, 255, 2]}

2. 定义真正的嵌套字典

如果你的需求是嵌套字典(键值对结构),需要把内部的集合改成键值对形式,比如存储RGB通道值:

Colors = {}

a = {"1:1": {"r":255, "g":1, "b":2}}
b = {"2:1": {"r":1, "g":255, "b":2}}
Colors.update(a)
Colors.update(b)

print(Colors)

运行输出:

{'1:1': {'r': 255, 'g': 1, 'b': 2}, '2:1': {'r': 1, 'g': 255, 'b': 2}}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 07:40:31