在Python中有没有简单的方法将两个字典“追加”在一起?

2 投票
5 回答
1061 浏览
提问于 2025-04-15 21:17

如果我在Python中有两个字典,我想把它们合并在一起,也就是:

a = {'1': 1, '2': 2}
b = {'3': 3, '4': 4}

如果我对它们使用update方法,结果会重新排列列表:

a.update(b)
{'1': 1, '3': 3, '2': 2, '4': 4}

但我其实想要的是把“b”加到“a”的后面:

{'1': 1, '2': 2, '3': 3, '4': 4}

有没有简单的方法可以把“b”加到“a”的后面,而不需要像这样手动合并:

for key in b:
    a[key]=b[key]

像+=或者append()这样的方式是最理想的,但当然这两种方法都不适用于字典。

5 个回答

2

字典是没有顺序的。如果你需要有顺序的数据,可以试试列表这样的东西。

2

字典是无序的:它们没有开始和结束。无论你使用 update 还是 for 循环,最后的结果都是无序的。

如果你需要有序的结果,可以使用一个元组的列表。Python 3.1 有一种叫 OrderedDict 的类型,在 Python 2.7 也可以使用。

11

Python中的字典是没有顺序的——也就是说,字典里的项目并不是按照特定的顺序排列的。如果你在使用时发现它们看起来有某种顺序,那只是因为这个字典的具体实现方式造成的,这种情况不应该被当作可靠的规则。

撰写回答