python - Python:如何在嵌套循环中用下一个替换 tqdm 进度条?
问题描述
我在 Jupyter Notebook 中使用tqdm模块。假设我有以下带有嵌套 for 循环的代码。
import time
from tqdm.notebook import tqdm
for i in tqdm(range(3)):
for j in tqdm(range(5)):
time.sleep(1)
输出如下所示:
100%|██████████| 3/3 [00:15<00:00, 5.07s/it]
100%|██████████| 5/5 [00:10<00:00, 2.02s/it]
100%|██████████| 5/5 [00:05<00:00, 1.01s/it]
100%|██████████| 5/5 [00:05<00:00, 1.01s/it]
是否有任何选项,如何在运行期间仅显示当前 j
进度条?那么,完成迭代后的最终输出会是这个样子吗?
100%|██████████| 3/3 [00:15<00:00, 5.07s/it]
100%|██████████| 5/5 [00:05<00:00, 1.01s/it]
解决方案
您可以通过每次在内循环开始之前重置进度条对象来实现这一点。
试试下面的代码来达到你想要的结果。
import time
from tqdm.notebook import tqdm
#initializing progress bar objects
outer_loop=tqdm(range(3))
inner_loop=tqdm(range(5))
for i in range(len(outer_loop)):
inner_loop.refresh() #force print final state
inner_loop.reset() #reuse bar
outer_loop.update() #update outer tqdm
for j in range(len(inner_loop)):
inner_loop.update() #update inner tqdm
time.sleep(1)
输出:
推荐阅读
- android - 'onPrepareOptionsPanel(View?, Menu): Boolean' 已弃用。在 Java 中已弃用
- windows - 在 windows docker 中分离图像和容器数据
- python - 需要在子列表中找到最小的数字,其中数字是字符串格式
- python - 无法正确打印组列表,还破坏了获取功能?
- python - 在给定累积概率的情况下获取随机变量的值(Python)
- javascript - 在 React Native 中使用 useState 钩子的 useAsyncStorage 自定义钩子
- rust - 如何使用rocket_contrib Json?
- swift - Swift URLSession 不起作用并且没有错误
- objective-c - 我想在 HexFiend 框架驱动的 TextView 中实现颜色。我几乎成功了,但是颜色渲染得不是很好。有什么建议吗?
- python - Python从列表名称而不是列表项返回字符