Dict Python的Dict

时间:2014-06-09 06:30:46

标签: python dictionary

我是Python的新手,目前我正在使用数据字典。 我希望像这样在dict中创建dict:

dates = {201101:{perf:10, reli:20, qos:300}, 201102:{perf:40, reli:0, qos:30}}

我已经有了密钥,我必须为初始化创建默认值。即:

{201101:{perf:0, reli:0}, 201102:{perf:0, reli:0}}

如何启动并更新特定字典。即日期[201101 [perf]] = 10。 谢谢!

4 个答案:

答案 0 :(得分:1)

首先,您需要使用:将键与其值分开。其次,你的密钥需要是字符串或数字。实施例。

dates = { 201101: {'perf': 10, 'reli':20, 'qos': 300} }

答案 1 :(得分:1)

首先

dates = {201101{perf=10, reli=20, qos=300}, 201102{perf=40, reli=0, qos=30}}

不是有效的python dict。这是:

dates = {201101: {'perf':10, 'reli':20, 'qos':300}, 201102:{'perf':40, 'reli':0, 'qos':30}}

一旦你发起了dict的词典:

dates = {201101:{'perf':0, 'reli':0}, 201102:{'perf':0, 'reli':0}}

通过执行以下操作进行更新:

dates[201101]['perf'] = 10

演示:

>>> dates = {201101:{'perf':0, 'reli':0}, 201102:{'perf':0, 'reli':0}}
>>> dates[201101]['perf'] = 10
>>> dates
{201101: {'reli': 0, 'perf': 10}, 201102: {'reli': 0, 'perf': 0}}

答案 2 :(得分:1)

你的第一个词:

dates={201101:{'perf':0, 'reli':0}, 201102:{'perf':0, 'reli':0}}

更新密钥值的一种方法:

date[201101]={'perf': 10, 'reli':20, 'qos': 300} 

答案 3 :(得分:0)

运行时值所需的另一种方法是setdefault(i,[])或{}而不是[]。这允许您动态创建嵌套字典而不是“平面”。

例如:

    dict = {}
    for i in range(0,10):
        dict.setdefault(i,{})
        # Only now you can use the nested dict of level 1
        for j in range(0,10):
            dict[i][j] = j

这只是一个例子,你可以动态创建任何深度和异构元素的dict作为列表或其他词典。