連番など
range(開始, 終了, ステップ)
を使います。range
は標準の関数です。
以下の例はlist
を使ってリスト型に変換しています。
0からのレンジ
print(list(range(10))) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
範囲指定のレンジ
print(list(range(0, 10))) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
増分を指定したレンジ
ステップに任意の値を指定します。
print(list(range(0, 10, 2))) # [0, 2, 4, 6, 8]
逆順のレンジ
ステップにマイナス値を指定します。
print(list(range(10, 0, -1))) # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
マイナスのレンジ
開始、終了、ステップなどにマイナス値を指定します。
print(list(range(0, -10, -1))) # [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
小数点のレンジ
range
では対応できないため、range
で生成したレンジをfor
文で回し、出力された結果を割ります。
print([i / 10 for i in range(0, 10, 1)]) # [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9] print([i / 100 for i in range(0, 10, 1)]) # [0.0, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09] print([i / 100 for i in range(10, 20, 1)]) # [0.1, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19]
ランダム
はじめに
randomは標準ライブラリですので、インストールは不要ですが、インポートは必要です。
import random
小数値のランダム
print(random.random()) # 0.37011529799237597
範囲指定の小数値のランダム
random.uniform(1, 10) # 4.628390796273554
範囲指定の整数値のランダム
print(random.randint(0, 10)) # 4
レンジ指定のランダム
range(10)と同じように指定ができます。
print(random.randrange(10)) # 4 print(random.randrange(0, 20, 2)) # 16
プログレスバー
tqdmというライブラリを使用します。標準ではないのでインストールが必要です。
pip install tqdm
基本的な使い方
from tqdm import tqdm for i in tqdm(range(10000)): i = 1 + 1
Jupyter Notebookの場合、以下のように出力されます。
100%|██████████| 10000/10000 [00:00<00:00, 1050098.64it/s]
応用
データフレームを使ったFor文です。
また、ncols=100
でプログレスバーの幅を指定しています。
for index, row in tqdm(df.iterrows(), ncols=100):
ファイルやフォルダの有無
ファイルやフォルダの存在の有無を返します。あればTrue
、無ければFalse
です。
# ファイル os.path.isfile(path) # フォルダ(ディレクトリ os.path.isdir(path)
音を鳴らす
ディープラーニングとかで処理が長いといつ終わったか分からなくなるので、音で知らせるようにできます。
以下はMacでの例です。
以下はMacでの例です。
os.system('afplay /System/Library/Sounds/Ping.aiff') os.system('afplay /System/Library/Sounds/Hero.aiff') os.system('afplay /System/Library/Sounds/Basso.aiff') os.system('afplay /System/Library/Sounds/Morse.aiff')
もちろん他の音も鳴らせるので、自分の好みにアレンジするといいと思います。