首页 > 解决方案 > 如何将循环分成几个阶段

问题描述

我有一个 2001 文件的循环:

for i in tqdm(result_file_list):
    df = read_pickle(file_path, i)
    final_df += df 

我想每 100 个文件保存一次 final_df,你最简单的方法是什么?

我只想到这样的东西:

for i in tqdm(result_file_list[:100]):
    df = read_pickle(file_path, i)
    final_df += df 
for i in tqdm(result_file_list[100:200]):
    df = read_pickle(file_path, i)
    final_df += df 

标签: pythonloops

解决方案


这应该有助于计算迭代次数(您的阶段)

import math

#2001 / 100 = 20.01 (21 iteration, round it up 20.01 > 21)

stages = math.ceil(2001/100.0)

#for z in xrange(stages): #python2
for z in range(stages): #python3
    for i in tqdm(result_file_list[i*x: (i*z)+100]):
        your_code()

推荐阅读