Pythonの進捗バー表示ツールであるtqdmを活用して、zip
、enumerate
、map
関数といった一般的なイテレーション操作に対してプログレスバーを表示する方法を紹介します。
tqdmとは
tqdmは、Pythonで進捗バーを表示するためのツールで、リスト、タプル、イテレータなどを簡単にラップし、その進行状況を表示できます。
tqdmのバージョン4.42.0以降の新機能
2020年1月25日にリリースされたtqdmのバージョン4.42.0以降では、zip
、enumerate
、map
関数などを使う場合の進捗バー表示が簡単になりました。具体的には、tzip
、tenumerate
、tmap
という新しい関数が導入され、これらの関数を使うことで進捗バーを簡単に書けるようになりました。
以下に、それぞれの関数の使用例を示します。
tzipの使用例
from tqdm.contrib import tzip
import time
mylist_a = list(range(10))
mylist_b = list(range(10))
for _, _ in tzip(mylist_a, mylist_b):
time.sleep(0.1)
tenumerateの使用例
from tqdm.contrib import tenumerate
import time
mylist = list(range(10))
for _, _ in tenumerate(mylist):
time.sleep(0.1)
tmapの使用例
from tqdm.contrib import tmap
import time
def myfunc(x):
time.sleep(0.1)
return x*2
mylist = list(range(10))
result = list(tmap(myfunc, mylist))
これらの新しい関数を使うことで、よりシンプルで直感的な方法でプログレスバーを導入できるようになりました。本記事が、どなたかの役に立てば幸いです。