python - 如何将循环分成几个阶段
问题描述
我有一个 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
解决方案
这应该有助于计算迭代次数(您的阶段)
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()
推荐阅读
- java - 代码错误:线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException:1
- sharepoint - Can we change font style in Sharepoint site?
- c - 如何检查前 2 个 getchars 是否为空格?
- javascript - 如何将 package.json 文件和 public 文件夹放在 React App 的另一个文件夹中并使其工作?
- javascript - 如何使用导入标头?
- python - Pytest - 将多个夹具参数组合到一个夹具中以优化夹具实例化
- imacros - 如何在“提取文本之前”添加文本?
- discord.py - discord.py 区分两个服务器?
- elixir - 在长生不老药通道中处理或防止“竞争条件”的惯用方法
- javascript - 被 CORS 策略阻止:反应/节点中没有“Access-Control-Allow-Origin”标头