У меня есть список словарей -добавить значения в Словаре в питона
list1 = [{'id' : '1', 'b' : '2', 'c' : '3'}, {'id' : '4', 'b' : '5', 'c' : '6'}, {'id' : '7', 'b' : '8', 'c' : ''}]
Основываясь на значении с будучи пустым или нет, я делаю вызов, который возвращает -
list2 - {'d' : '30', 'id' : 1}, {'d': '25', 'id' : '4'}
Теперь я хочу изменить list1, так что в конечном списке есть значения d для идентификаторов, которые имеют c. Например -
list1 = [{'id' : '1', 'b' : '2', 'c' : '3', 'd' : '30'}, {'id' : '4', 'b' : '5', 'c' : '6', 'd' : '25'}, {'id' : '7', 'b' : '8', 'c' : ''}]
Мой подход -
for l in list2:
current_list = {}
for l2 in list1:
if l2['id'] == l['id']:
current_list = l2
break
if current_list:
current_list['d'] = l['d']
Здесь фактическая ДИКТ не получает модифицирован. Как изменить фактический список? Кроме того, есть ли более простой способ сделать это?
Означает ли порядок пунктов в списке? –
Нет, порядок не имеет значения –