如何将多个词典添加到一组 Python

我有以下词典:


x = {"Name": "A"}

y = {"Name": "B"}

z = {"Name": "C"}


all_dictionaries = {}

all_dictionaries.update(x)

all_dictionaries.update(y)

all_dictionaries.update(z)

print(all_dictionaries)

输出是


{'Name': 'C'}.

但我希望它打印以下内容(一个包含所有已声明词典的大集合):


{{"Name": "A"}, {"Name": "B"}, {"Name": "C"}}

不起作用update()。任何帮助表示赞赏!


繁星coding
浏览 163回答 4
4回答

慕哥9229398

您可以将这三个词典加入一个集合(或列表)中。all_dictionaries = [x, y, z]这看起来像: [{"Name": "A"}, {"Name": "B"}, {"Name": "C"}]或者你可以给每个字典一个键。all_dictionaries = {"x": x, "y": y, "z": z}看起来像:{"x": {"Name": "A"}, "y": {"Name": "B"}, "z": {"Name": "C"}}

皈依舞

如果你想要一个嵌套字典:nested_dict = dict(x={"Name": "A"}, y={"Name": "B"}, z={"Name": "C"})print(nested_dict)输出:{'x': {'Name': 'A'}, 'y': {'Name': 'B'}, 'z': {'Name': 'C'}}

萧十郎

字典使用一个键和一个值的组合来存储数据,所以不可能做那样的事情。您可以使用数组(实际上是 python 中的列表)来存储多个字典,如下所示:x = {"Name": "A"}y = {"Name": "B"}z = {"Name": "C"}array = [x, y, z]print(array)      # [{'Name': 'A'}, {'Name': 'B'}, {'Name': 'C'}]或者你可以像这样将它们保存在一个元组中:x = {"Name": "A"}y = {"Name": "B"}z = {"Name": "C"}tuple = (x, y, z)print(tuple)      # ({'Name': 'A'}, {'Name': 'B'}, {'Name': 'C'})您可以使用 for 循环自由地迭代两者,您可以像往常一样手动访问数组索引:# Using the array from the first examplearray[0]  # {'Name': 'A'}请记住,元组是不可更改的,而数组在 Python 中更灵活。

拉莫斯之舞

看起来像没有值的字典的表示法表示称为“集合”的数据类型,它不是字典。由于 set 不能包含不可散列的项目(如字典),因此您必须选择另一种数据类型来使用。您可以使用列表或元组将多个键分组到一个容器中。[{"Name": "A"}, {"Name": "B"}, {"Name": "C"}]  # List({"Name": "A"}, {"Name": "B"}, {"Name": "C"})  # Tuple
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python