关于dictionary:有没有一种简单的方法可以在python中将两个字典”append()”放在一起?

Is there an easy way to “append()” two dictionaries together in Python?

如果我有两个字典,我想在python中合并,也就是说。

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

如果我对它们运行更新,它会重新排序列表:

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

当我真正想要的是在"A"的末尾加上"B"时:

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

是否有一种简单的方法可以将"B"连接到"A"的末尾,而无需像这样手动组合它们:

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

像+=或append()之类的东西是理想的,但当然这两种方法都不适用于字典。


python字典没有顺序——如果在实践中项目以特定的顺序出现,那纯粹是特定实现的副作用,不应该依赖它。


字典未排序。如果您需要订购,您可以尝试使用类似列表的方法。


字典是无序的:它们没有开始或结束。无论您使用update还是for循环,最终结果仍然是无序的。

如果需要排序,请使用元组列表。python 3.1有一个OrderedDict类型,也将在python 2.7中使用。


从python 3.1.1开始,标准库中有一个有序的字典,但是它的用例是有限的。通常,如果您使用的是字典,那么您只对键到值的映射感兴趣,而不是顺序。如果您不使用python3.x的话,也有很多订购字典的方法,但是您应该首先问问自己订购是否重要,如果重要,您是否使用了正确的数据结构。


我认为你误解了词典的用法。您不能访问它们的顺序或位置。您可以从键访问它们,在您的情况下,这也恰好是数字。它们是哈希表,应该像这样工作。你做得对。