Чтобы лучше проиллюстрировать приведенный ниже код, я решил изменить {key1:value1}
на строки.Функционально, когда вы вызываете функцию add_to_datalist
, не должно быть никакой разницы.
def add_to_datalist(datalist, key, value):
check = 0
#check is needed to ensure the if condition after the for loop can trigger
for datadict in datalist:
if key in datadict.keys():
datadict[key] = value
check = 1 #turn off check if a key matching is found
if check == 0:
datalist.append({key:value})
return datalist
datalist = [{'key1':'value1'},{'key2':'value2'},{'key3':'value3'}]
key1 = 'key333'
value1 = 'value999'
datalist = add_to_datalist(datalist, key1, value1)
key2 = 'key2'
value2 = 'valueNEW2'
datalist = add_to_datalist(datalist, key2, value2)
print (datalist)
#[{'key1': 'value1'}, {'key2': 'valueNEW2'}, {'key3': 'value3'}, {'key333': 'value999'}]