我有两个从JSON获得的字典列表:第一个是所有对象的列表,第二个列表是name=Disk的对象:
list_of_dicts1 = [
{u'id' : u'111',
u'host' : u'host01',
u'name' : u'Disk'},
{u'id' : u'222',
u'host' : u'host02',
u'name' : u'Disk'},
{u'id' : u'333',
u'host' : u'host02',
u'name' : u'CPU'}
]
list_of_dicts2 = [
{u'id' : u'111',
u'host' : u'host01',
u'name' : u'Disk'},
{u'id' : u'444',
u'host' : u'host02',
u'name' : u'Disk'},
{u'id' : u'555',
u'host' : u'host03',
u'name' : u'Disk'}
]
我想:
仅当“host”和“name”与list_of_dicts2匹配时,用list_of_dicts2中的id更新list_of_dicts2的id
如果没有具有“host”和“name”的对象,则将对象从list\u-dicts2添加到list\u-dicts1
结果:
^{pr2}$有办法吗?在
你可以试试这个:
输出:
^{pr2}$您可以将这些dict列表映射到dict的dict,然后将
update
一个映射到另一个:或者更短,定义用于提取条目的函数;相同的结果:
^{pr2}$其复杂性将是O(n)。在
相关问题 更多 >
编程相关推荐