如何使用list_pop?
How to use list_pop?
这与 Zapier Python 代码有关。有没有人成功地将 pop_list()
函数用作 StoreClient library 的一部分?我坚持这个简单的程序。基本上我试图删除列表中存储在 MyList.get('MyIDList')
中的第一项
非常感谢任何帮助。
下面是我的代码。请注意,如果我删除第二行,它会正常工作。我的清单当然不是空的。
MyList= StoreClient('STSecretKey')
MyList.list_pop('MyIDList', location='head')
return {'FirstItem':MyList.get('MyIDList')[0]}
错误信息:
Traceback (most recent call last):
File "/tmp/tmpPToKk0/usercode.py", line 9, in the_function
MyList.list_pop('MyIDList', location='head')
File "/var/task/store_api.py", line 226, in list_pop
return self.call('patch', BASE_URL, json=data)
File "/var/task/store_api.py", line 61, in call
raise StoreCallException(json['error'])
StoreCallException: list is empty
来自 Zapier 平台团队的大卫。很难说出到底出了什么问题,但我最好的猜测是你的列表实际上并不是一个列表。您可以通过转到 https://store.zapier.com/api/records?secret=STSecretKey 快速验证这一点,它显示存储在数据库中的 JSON。如果正确,它将如下所示:
{
"MyIDList": {
"list": [
1,
2,
3
]
}
}
为了生成上面的内容,我 运行 下面的代码:
store = StoreClient('davidkey')
store.list_push('MyIDList', 1)
store.list_push('MyIDList', 2)
store.list_push('MyIDList', 3)
popped = store.list_pop('j', location='head') # got 1
accessed = store.get('j')[0] # got error
您会注意到最后一行为我生成了一个错误。鉴于它对您有用(但从列表中弹出不会),我猜您反而拥有一个包含数据的 0
键。如果您确保使用 list_push
来填充您的存储,它应该会按预期工作。
这与 Zapier Python 代码有关。有没有人成功地将 pop_list()
函数用作 StoreClient library 的一部分?我坚持这个简单的程序。基本上我试图删除列表中存储在 MyList.get('MyIDList')
非常感谢任何帮助。
下面是我的代码。请注意,如果我删除第二行,它会正常工作。我的清单当然不是空的。
MyList= StoreClient('STSecretKey')
MyList.list_pop('MyIDList', location='head')
return {'FirstItem':MyList.get('MyIDList')[0]}
错误信息:
Traceback (most recent call last):
File "/tmp/tmpPToKk0/usercode.py", line 9, in the_function
MyList.list_pop('MyIDList', location='head')
File "/var/task/store_api.py", line 226, in list_pop
return self.call('patch', BASE_URL, json=data)
File "/var/task/store_api.py", line 61, in call
raise StoreCallException(json['error'])
StoreCallException: list is empty
来自 Zapier 平台团队的大卫。很难说出到底出了什么问题,但我最好的猜测是你的列表实际上并不是一个列表。您可以通过转到 https://store.zapier.com/api/records?secret=STSecretKey 快速验证这一点,它显示存储在数据库中的 JSON。如果正确,它将如下所示:
{
"MyIDList": {
"list": [
1,
2,
3
]
}
}
为了生成上面的内容,我 运行 下面的代码:
store = StoreClient('davidkey')
store.list_push('MyIDList', 1)
store.list_push('MyIDList', 2)
store.list_push('MyIDList', 3)
popped = store.list_pop('j', location='head') # got 1
accessed = store.get('j')[0] # got error
您会注意到最后一行为我生成了一个错误。鉴于它对您有用(但从列表中弹出不会),我猜您反而拥有一个包含数据的 0
键。如果您确保使用 list_push
来填充您的存储,它应该会按预期工作。