添加到地图列表或更新先前添加的地图aws-dynamodb的值

时间:2018-12-17 07:19:59

标签: python amazon-dynamodb dynamodb-queries

在我的dynamodb中,我有一个类型为“地图列表”的属性。例如 列表= [{{key1:value1},{key2:value2},{key3:value3},...] 我想用current_key更新列表(从我的python脚本中)以添加新的密钥,或者如果current_key已经存在,则替换该值。

1 个答案:

答案 0 :(得分:0)

为了更好地说明下面的代码,我选择将您的{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'}]