将字典添加到空列表dict.value()

时间:2017-05-02 05:09:26

标签: python list python-3.x dictionary

我有四个字典我想在空列表中添加为字典值的项目。我不知道该怎么做有人可以帮我弄清楚如何解决这个问题:

data = {'Cars': []}

dict1 = {'subaru': 1, 'honda': 5, 'volkswagen': 8}
dict2 = {'subaru': 7, 'honda': 3, 'volkswagen': 9}
dict3 = {'subaru': 9, 'honda': 2, 'volkswagen': 1}
dict4 = {'subaru': 2, 'honda': 8, 'volkswagen': 2}

print (data)

进入这个:

{'Cars': [{'subaru': 1, 'honda': 5, 'volkswagen': 8},
          {'subaru': 7, 'honda': 3, 'volkswagen': 9},
          {'subaru': 9, 'honda': 2, 'volkswagen': 1},
          {'subaru': 2, 'honda': 8, 'volkswagen': 2}]}

3 个答案:

答案 0 :(得分:1)

data = {'Cars': []}
dict1 = {'subaru': 1, 'honda': 5, 'volkswagen': 8}
dict2 = {'subaru': 7, 'honda': 3, 'volkswagen': 9}
dict3 = {'subaru': 9, 'honda': 2, 'volkswagen': 1}
dict4 = {'subaru': 2, 'honda': 8, 'volkswagen': 2}
for item in [dict1, dict2, dict3, dict4]: 
    data['Cars'].append(item) 
import pprint
pp = pprint.PrettyPrinter()
pp.pprint(data)

给出:

{'Cars': [{'subaru': 1, 'honda': 5, 'volkswagen': 8}, 
          {'subaru': 7, 'honda': 3, 'volkswagen': 9}, 
          {'subaru': 9, 'honda': 2, 'volkswagen': 1}, 
          {'subaru': 2, 'honda': 8, 'volkswagen': 2}]}

引文:“”{“data['Cars']是您最初为空的列表。您可以通过在列表上调用.append()将元素添加到列表中。因此,data['Cars'].append(dict1)等等。”“ “ - jasonharper

这可以在如上构造的循环中一步完成。

要获得import pp 漂亮的,请使用pp = pprint.PrettyPrinter()创建pp.pprint()对象并使用data函数以漂亮的方式打印嵌套在字典中的列表:)。

顺便说一下:您可以使用以下步骤创建包含已包含元素的列表的data = {'Cars': [ {'subaru': 1, 'honda': 5, 'volkswagen': 8}, {'subaru': 7, 'honda': 3, 'volkswagen': 9}, {'subaru': 9, 'honda': 2, 'volkswagen': 1}, {'subaru': 2, 'honda': 8, 'volkswagen': 2}]} 字典:

{{1}}

答案 1 :(得分:0)

您需要访问Cars词典中的data键,然后附加到该词典。

data = {'Cars': []}

dict1 = {'subaru': 1, 'honda': 5, 'volkswagen': 8}
dict2 = {'subaru': 7, 'honda': 3, 'volkswagen': 9}
dict3 = {'subaru': 9, 'honda': 2, 'volkswagen': 1}
dict4 = {'subaru': 2, 'honda': 8, 'volkswagen': 2}

data['Cars'].append(dict1)
data['Cars'].append(dict2)
data['Cars'].append(dict3)
data['Cars'].append(dict4)

您可以将其简化为

data['Cars'].append({'subaru': 1, 'honda': 5, 'volkswagen': 8})
data['Cars'].append({'subaru': 7, 'honda': 3, 'volkswagen': 9})
data['Cars'].append({'subaru': 9, 'honda': 2, 'volkswagen': 1})
data['Cars'].append({'subaru': 2, 'honda': 8, 'volkswagen': 2})

答案 2 :(得分:0)

只需将所有字样附加到data["Cars"]这是一个列表。

for i in [dict1, dict2, dict3, dict4]:
    data["Cars"].append(i)

print data