我有attachmentList
和
如果我这样做
len(attachmentList)
结果为199930;我想每次发送999个元素到api_request(附件)函数
所以伪代码是这样的
count=0
for (i=0,i<len(attachmentList),i++)
count++
if count=999:
api_request(attachmentList[i-999:i])
count=0
for循环是怎么写的呢?或者有其他的解决方案
使用grouper
配方:
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)
你可以循环999个块:
for i in range(0, len(attachmentList), 999):
api_request(attachmentList[i:i+999])
可以使用range(...)
函数:
previous = 0
for i in range(999,len(attachmentList),999):
api_request(attachmentList[previous:i]
previous = i