将其他密钥存储在dicts的dict中

时间:2015-02-14 17:41:36

标签: python dictionary nested

我想知道如何在python词典中添加其他信息。

例如按照标准方式,我们可以["python":14, "Programming":15]。 现在我可能希望将其存储为["d1":"python":14, "d1":"Programming":15]作为1集。

我们如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

使用d1,d2,d3等存储dicts的词组作为键:

d={"d1":{"python":14,"Programming":15},"d2":{"python":14,"Programming":15}}

只需访问每个子字典即可获得所需内容:

In [11]: d = {"d1":{"python":14,"Programming":15},"d2":{"python":14,"Programming":15}}    
In [12]: d["d1"]
Out[12]: {'Programming': 15, 'python': 14} # d1's value is a dict
In [13]: d["d2"]
Out[13]: {'Programming': 15, 'python': 14} # d2's value is a dict
In [14]: d["d2"]["python"]
Out[14]: 14    
In [14]: d["d2"]["Programming"]
Out[14]: 15

您还可以根据评论进一步嵌套:

In [16]: d={"p1": {"d1":{"python":14,"Programming":15}}, "p2": {"d1":{"python":14,"Programming":15}} }

In [17]: d["p2"]["d1"]
Out[17]: {'Programming': 15, 'python': 14}
In [18]: d["p2"]["d1"]["python"]
Out[18]: 14

答案 1 :(得分:1)

如果我正确理解了您的问题,您希望能够将多个不同的键映射到相同的值,以便

    my_dict["d1"] = 14 
    my_dict["python"] = 14

Dict对象很容易支持,你只需要定义

    my_dict = {"d1":14,"python":14,"d2":15}

另一方面,如果您希望单个键能够映射到多个值,您可以尝试Padraic的答案,或者您可以尝试

    my_dict = {"d1":("python",14)}

虽然如果你想要一个真正嵌套的数据结构,那可能不是你正在寻找的东西。