使用boto3向DynamoDB嵌套列表追加子列表遇问题求助
DynamoDB嵌套列表追加子列表的正确方法
你的问题出在对list_append的使用逻辑理解上:这个函数会把第二个参数列表中的每个元素逐个追加到第一个参数列表的末尾。
之前你传入的:opt是['bird', 'sheep', 'snake', 'bee'],所以这四个字符串会被直接添加到外层options列表中,导致嵌套结构消失,变成了一维列表。
要实现追加整个子列表的需求,你需要把待追加的子列表包裹在一个新的列表里,让list_append把这个子列表作为单个元素追加到外层列表。
正确的更新表达式
使用同样的list_append语法,但调整:opt的参数值:
SET options = list_append(options, :opt)
其中:opt的取值应为:
[['bird', 'sheep', 'snake', 'bee']]
执行效果
更新后,options会从:
[ ['fish', 'cat', 'dog', 'cow'] ]
变为目标结构:
[ ['fish', 'cat', 'dog', 'cow'], ['bird', 'sheep', 'snake', 'bee'] ]
内容的提问来源于stack exchange,提问作者Denny Crane
相关产品推荐
相关产品推荐

