Pythonで進捗バーを表示するためのツールであるtqdm
は、リスト、タプル、イテレータなどを簡単にラップし、その進行状況を表示できます。特に、zip
、enumerate
、map
関数などを使う場合はプログレスバーを表示するのに工夫が必要でした。
しかし、2020年1月25日にリリースされたtqdm
のバージョン4.42.0以降では、そういった問題を解決するため、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))
これらの新しい関数は、通常のzip
、enumerate
、map
の書き方でプログレスバーを簡単に表示することができます。これにより、Pythonでの進捗バー表示がよりシンプルで直感的になりました。
以上が、Pythonのtqdm
を活用して、zip
、enumerate
、map
関数といった一般的なイテレーション操作に対してプログレスバーを表示する方法です。この記事が、Pythonを使ったプログラミングに役立つことを願っています。