如何创建一个具有三重循环的处理栏?
How to create one processing bar with triple loop?
我有一个代码喜欢
从 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 的单个进度条仅在最内层循环的每次迭代期间更新。
我有一个代码喜欢
从 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 的单个进度条仅在最内层循环的每次迭代期间更新。