【问题标题】: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)

我只是期望所有成员的列表。

【问题讨论】:

    标签: python while-loop offset mailchimp


    【解决方案1】:

    将get_all 参数设置为True 将忽略offset 和count 参数并返回完整的成员集,而无需遍历成员并每次都发出新请求。

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

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

    【讨论】:

      猜你喜欢
      • 2014-12-04
      • 2018-03-28
      • 2018-07-08
      • 1970-01-01
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-16
      相关资源
      最近更新 更多