我尝试使用Python 3创建字典。这是我的代码:
data = {}
data['price'] = []
data['place1'] = []
data['place2'] = []
data['place1'].append({
'x': 2,
'y': 1
})
data['place2'].append({
'a': 5,
'b': 6
})
data['price'].append(data['place1'])
data['price'].append(data['place2'])
print(data)
所以输出ist:
{'price': [[{'x': 2, 'y': 1}], [{'a': 5, 'b': 6}]], 'place1': [{'x': 2, 'y': 1}], 'place2': [{'a': 5, 'b': 6}]}
但是我需要像下面的示例:
'price'
->'place1'
->'x'=2
->'y'=1
->'place2'
->'a'=5
->'b'=6
二重制是正确的方法吗?
感谢您的帮助! 最好,马里斯
答案 0 :(得分:2)
好吧,您要在此处添加列表:data['price']
,所以现在data = {
'price': {
'place1': {
'x': 2,
'y': 1
},
'place2': {
'a': 5,
'b': 6
}
}
}
是列表列表。
您可以改写一个简单的字典文字:
data = {'price': {}}
data['price']['place1'] = {'x': 2, 'y': 1}
data['price']['place2'] = {'a': 5, 'b': b}
或者,如果您坚持动态添加数据:
{{1}}
答案 1 :(得分:0)
只是为了尽可能保留原始内容,您需要使data['price']
成为字典,然后将place1
和place2
放入其中。
data = {}
data['price'] = {}
data['price']['place1'] = []
data['price']['place2'] = []
data['price']['place1'].append({
'x': 2,
'y': 1
})
data['price']['place2'].append({
'a': 5,
'b': 6
})
答案 2 :(得分:0)
否,您不能将字典上的(:)映射为(=)符号作为输出。