python-3.x - 如何创建一个具有三重循环的加工条?
问题描述
我有一个喜欢的代码
从 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 - Pandas groupby rank date time
- c# - 面临将 XML 转换为 Object 的问题
- reactjs - 使用 CDN 反应过渡组
- javascript - TypeError: Cannot read property '0' of undefined from the Array using AngularJS
- ruby - Program working, but I'm still getting a NoMethodError 'length' nil
- odoo - 确认发票时的线程
- python - Pandas DateTime Conversions with Math Between Column
- h2o - h2o.cor 如何处理分类数据
- python - compare two csv files and do something if there is a match between two fields
- c# - ArgumentException“参数不正确”