我有一个函数,它有一个offset参数,并且想要循环

2024-09-27 22:30:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用一个函数clientmailchimp.lists.members.all,它返回最多1000个成员的字典列表(该函数的偏移量参数默认为0)。获取此词典后,我希望subscribedmembersid列表中的ID值

subscribedmembers = clientmailchimp.lists.members.all(count=1000 )   
subscribedmembersid = [id['id'] for id in subscribedmembers['members']]

对于结果<;1000此函数工作,但当返回值为>;1000我必须使用offset参数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)

我只是希望有一份所有成员的名单


Tags: 函数inid列表for参数count成员
1条回答
网友
1楼 · 发布于 2024-09-27 22:30:04

get_all参数设置为True将忽略offsetcount参数,并返回完整的成员集,而无需通过成员循环,每次都会发出新请求

例如client.lists.members.all(list_id='', get_all=True)

您也可以创建自己的分页方法,但您需要找出成员总数,以确定使用提供的计数可以获得的页数(例如,如果有5000个成员,使用计数1000,您将有5页,只需将偏移量移动1000)

相关问题 更多 >

    热门问题