Python Dictionary(仅编辑Dictionary的值)

时间:2014-10-03 17:29:21

标签: python python-2.7 dictionary

我是python的初学者。我有一份清单。我想循环遍历列表的值并分别将其添加到我的字典值。它看起来很简单,但我试着写几个循环,但没有一个对我有用。例如

   Note :  Total number of element in My_list and total number of key:value pairs in My_Dict are same.

   My_list= [ [A,B,C], [D,E,F], [I,J,K] ]

   My_dict= { 'Apple'= {'Color'=[data1,data2]} , 'Orange'= {'Color'=[data3,data4]}, 'Peach'={ 'color'=[data5,data6]} }

我试图通过将My_list的每个元素添加到字典的相应值来获得以下格式。

  New_Dict=  { 'Apple'= { 'Name'=[A,B,C], 'Color'=[data1,data2]} , 'Orange'= { 'Name'=[D,E,F] ,'Color'=[data3,data4]}, 'Peach'={ 'Name'=[I,J,K], 'color'=[data5,data6]} }

1 个答案:

答案 0 :(得分:1)

根据评论中的建议,您需要使用collections.OrderedDict代替常规dict才能保留my_dict的排序。在那里,您可以使用zipmy_dict方式迭代my_list中的键和锁定步骤中my_list的元素,并将OrderedDict中的每个项目插入到from collections import OrderedDict my_list = [['A', 'B', 'C'], ['D', 'E', 'F'], ['I', 'J', 'K']] my_dict = OrderedDict([ ('Apple', {'Color' : ['data1','data2']}), ('Orange', {'Color' : ['data3','data4']}), ('Peach', { 'color' : ['data5','data6']}), ]) for key, name in zip(my_dict, my_list): my_dict[key]['Name'] = name print(my_dict) 中的相应位置OrderedDict([('Apple', {'Color': ['data1', 'data2'], 'Name': ['A', 'B', 'C']}), ('Orange', {'Color': ['data3', 'data4'], 'Name': ['D', 'E', 'F']}), ('Peach', {'color': ['data5', 'data6'], 'Name': ['I', 'J', 'K']})])

{{1}}

输出:

{{1}}