分离范围并将数组传递给函数的方法是什么?

2024-04-25 05:18:11 发布

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

我有attachmentList

如果我这样做了

len(attachmentList) 

结果为199930; 我想每次发送999个元素到api\请求(附件)函数

所以伪代码是这样的

count=0
for (i=0,i<len(attachmentList),i++)
     count++
     if count=999:
       api_request(attachmentList[i-999:i])
       count=0

写for循环的方法是什么,或者有其他解决方案。你知道吗


Tags: 方法函数代码api元素for附件len
3条回答

可以将range(...)函数用作:

previous = 0
for i in range(999,len(attachmentList),999):
    api_request(attachmentList[previous:i]
    previous = i

您可以将999块循环:

for i in range(0, len(attachmentList), 999):
    api_request(attachmentList[i:i+999])

使用^{} recipe

def grouper(iterable, n, fillvalue=None):
    "Collect data into fixed-length chunks or blocks"
    # grouper('ABCDEFG', 3, 'x')  > ABC DEF Gxx
    args = [iter(iterable)] * n
    return izip_longest(fillvalue=fillvalue, *args)

然后:

for chunk in grouper(attachmentList, 1000):
    api_request(chunk)

相关问题 更多 >