我有一个具有偏移参数并想要循环的函数
Posted
技术标签:
【中文标题】我有一个具有偏移参数并想要循环的函数【英文标题】:I have a function that has an offset parameter and want to loop over 【发布时间】:2019-12-13 15:10:37 【问题描述】:我正在使用一个函数,clientmailchimp.lists.members.all,它返回一个最多包含 1000 个成员的字典列表(该函数有一个偏移量参数,默认情况下为 0)。得到这本字典后,我想要我订阅的成员列表中的 ID 值。
subscribedmembers = clientmailchimp.lists.members.all(count=1000 )
subscribedmembersid = [id['id'] for id in subscribedmembers['members']]
对于 1000 时,我必须使用偏移参数 offset=1000 来获取列表的第二个块。如何使用将块附加到空列表中的 While 循环来执行此操作?
我尝试过这样的事情,但不确定我是否正确地循环
subscribedmemberslist = []
offset = 0
while len(subscribedmembersid) > 1000 :
subscribedmembers = clientmailchimp.lists.members.all(count=1000, offset=offset)
subscribedmembersid = [id['id'] for id in subscribedmembers['members']]
offset =+ 1000
subscribedmemberslist.append(subscribedmembersid)
我只是期望所有成员的列表。
【问题讨论】:
【参考方案1】:将get_all
参数设置为True
将忽略offset
和count
参数并返回完整的成员集,而无需遍历成员并每次都发出新请求。
例如client.lists.members.all(list_id='', get_all=True)
您也可以创建自己的分页方法,但您需要找出成员总数以确定您可以使用提供的计数获得的页面数(例如,如果有 5000 名成员,则计数 1000 您将有 5 页,你只需将偏移量移动 1000)
【讨论】:
以上是关于我有一个具有偏移参数并想要循环的函数的主要内容,如果未能解决你的问题,请参考以下文章
如何循环遍历动态大小的数组并将属性作为参数传递给可变参数函数?