我们有一个dynamoDB表,其中'item_id'作为主键/哈希键。其中一个属性'my_list'是一个字符串列表。我试图从列表中删除索引'0'。当我对索引进行硬编码时,它可以工作:
item_key = {'item_id': {'S': item_id}}
update_expression = "remove mylist[0]"
response = client.update_item(
TableName=table_name, Key=item_key, UpdateExpression=update_expression)
但是当我尝试将索引作为变量传递时,我收到错误:
item_key = {'item_id': {'S': item_id}}
update_expression = "remove mylist[:n]"
update_expression_values = {':n': {'N': 0}}
response = client.update_item(
TableName=table_name, Key=item_key, UpdateExpression=update_expression,
ExpressionAttributeValues=update_expression_values)
botocore.exceptions.ParamValidationError:参数验证失败: 参数ExpressionAttributeValues.:n.N的值类型无效,值:0,类型:,有效类型:class'str'
答案 0 :(得分:0)
要解决此问题,只需将零作为字符串传递:
A←(1 3 2)(3 2 1)
B←'ABC'
⎕fmt {B[⍵]}¨¨A
┌2────────────┐
│┌3───┐ ┌3───┐│
││ ACB│ │ CBA││
│└────┘ └────┘2
└∊────────────┘
C←(1 3 2 3 2 1)(3 2 1)
⎕fmt {B[⍵]}¨¨C
┌2───────────────┐
│┌6──────┐ ┌3───┐│
││ ACBCBA│ │ CBA││
│└───────┘ └────┘2
└∊───────────────┘
那应该解决