python中字典的字典

时间:2013-11-22 12:39:50

标签: python list dictionary

tags = {'stream', 'auth'} 
tags['stream']= {}
tags["stream"]["path"]= ["/streams"]
tags['stream']['attribute']= ['id', 'secure', 'cpcode', 'format', 'event_pattern']

上面的代码会抛出错误:

    tags["stream"]= {} 
TypeError: 'set' object does not support item assignment

如何创建列表字典?

2 个答案:

答案 0 :(得分:4)

您创建了set,而不是字典。您需要指定键值对:

tags = {'stream': None, 'auth': None} 

或在文字表示法中指定嵌套字典:

tags = {
    'stream': {
        'path': ["/streams"],
        'attribute': ['id', 'secure', 'cpcode', 'format', 'event_pattern'],
    }, 
    'auth': None,
} 

{value, value, value}语法(无键)是设置的文字符号。

答案 1 :(得分:2)

{'stream', 'auth'}是一个集合文字,而不是字典。

使用字典文字:

tags = {'stream': {}, 'auth': {}}
tags["stream"]["path"]= ["/streams"]
tags['stream']['attribute']= ['id', 'secure', 'cpcode', 'format', 'event_pattern']

>>> type({'stream', 'auth'})
<type 'set'>
>>> type({'stream': {}, 'auth': {}})
<type 'dict'>
>>>