python-3.x - 如何创建一个具有三重循环的处理栏?

标签 python-3.x tqdm

我有一个喜欢的代码

从 tqdm 导入 tqdm 导入时间

for i in tqdm(range(10)):
    for j in tqdm(range(20)):
        for k in tqdm(range(30)):
            time.sleep(0.01)

它将创建三个处理栏:

10%|████▍                                       | 1/10 [00:06<00:54,  6.06s/it
50%|█████████████████████▌                     | 10/20 [00:03<00:03,  3.30it/s]
50%|█████████████████████▌                     | 15/30 [00:03<00:03,  3.30it/s]

因为迭代的总数将是10x20x30=6000。我们如何制作单个处理栏,但仍然使用 python 3 使用三重循环?结果喜欢

50%|█████████████████████▌                     | 3000/6000 [00:03<00:03,  3.30it/s]

最佳答案

您可以像这样从循环中取消附加 tqdm:

with tqdm(total=6000) as t:

    for i in range(10):
        for j in range(20):
            for k in range(30):
                time.sleep(0.01)
                t.update()

然后,您在循环内执行的任何其他操作都会按预期发生,并且 6000 的单个进度条仅在最内层循环的每次迭代期间更新。

关于python-3.x - 如何创建一个具有三重循环的处理栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53120232/

相关文章:

python - 通过 tqdm.write() 重定向 python 脚本中的打印命令

python - 如何获取tqdm的当前值?

python - 如何在 python 中添加两个二维数组的相同索引的两个元素?

python - 将 unicode 字符串转换为 float

python - 如何在pandas操作的网页上制作进度条

python - tqdm.auto 进度条显示不正确,而是显示 HBox(children=(FloatProgress(value=0.0), HTML(value ='' )))

python - tqdm 不计算 jupyter notebook 中的迭代次数

python-3.x - Python正则表达式查找双引号中的值(忽略其他语言字符)

django - 在 Django 中归档模型数据

python - 将 Pandas 数据框附加到 excelsheet,而不是覆盖它