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
如何创建列表字典?
答案 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'>
>>>