Добавить в список карт или обновить значение ранее добавленной карты aws-динамод - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть атрибут типа «Список карт» в моей динамической базе данных.например, List = [{key1: value1}, {key2: value2}, {key3: value3}, ...] Я хочу обновить список (из моего скрипта python) с помощью current_key, чтобы добавить новый ключ или заменить значение, еслиключ current_key уже присутствует.

1 Ответ

0 голосов
/ 17 декабря 2018

Чтобы лучше проиллюстрировать приведенный ниже код, я решил изменить {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'}]
...