For文
基本
数値で範囲を指定
for i in range(1,5): print(i) # 1 # 2 # 3 # 4 # ステップ for i in range(1,5,2): print(i) # 1 # 3 # 逆順 for i in range(5,0,-1): print(i) # 5 # 4 # 3 # 2 # 1 # 小数点 for i in range(0,5): print(i /10) # 0.0 # 0.1 # 0.2 # 0.3 # 0.4
1行で処理結果をリストに内包
変数 = [処理 for i in レンジ]
上記のように記載すれば、処理した結果を変数にリスト型で値を代入することができます。
ちなみに、複数行で記載するより高速で処理されます。
n = [i/10 for i in range(0,5)] print(n) # [0.0, 0.1, 0.2, 0.3, 0.4]
1行で条件付き処理結果をリストに内包
変数 = [処理 for i in レンジ if 条件式]
上記のように記載すれば、条件に満たした場合に、処理した結果を変数にリスト型で値を代入することができます。
ちなみに、複数行で記載するより高速で処理されます。
n = [i/10 for i in range(0,5) if i % 2 == 0] print(n) # [0.0, 0.2, 0.4]
リスト型
基本
data = [1, 2, 3] for val in data: print(val) # 1 # 2 # 3 # 二次元リスト型 data = [[1,2,3],[4,5,6]] for val in data: print(val) print(val[0], val[1], val[2]) # [1, 2, 3] # 1 2 3 # [4, 5, 6] # 4 5 6 data = [[1,2,3],[4,5,6]] for val0, val1, val2 in data: print(val0, val1, val2) # 1 2 3 # 4 5 6
インデックス(index)も取得
data = [1, 2, 3] for index, val in enumerate(data): print(index, val) # 0 1 # 1 2 # 2 3 # 二次元リスト型 data = [[1,2,3],[4,5,6]] for index, val in enumerate(data): print(index, val) # 0 [1, 2, 3] # 1 [4, 5, 6]
タプル型
リスト型と同じです。
基本
data = (1, 2, 3) for val in data: print(val) # 1 # 2 # 3 # 二次元配列 data = ((1, 2, 3), (4, 5, 6)) for val in data: print(val) print(val[0], val[1], val[2]) # [1, 2, 3] # 1 2 3 # [4, 5, 6] # 4 5 6 data = ((1, 2, 3), (4, 5, 6)) for val0, val1, val2 in data: print(val0, val1, val2) # 1 2 3 # 4 5 6
インデックス(index)も取得
data = (1, 2, 3) for index, val in enumerate(data): print(index, val) # 0 1 # 1 2 # 2 3 # 二次元配列 data = ((1, 2, 3), (4, 5, 6)) for index, val in enumerate(data): print(index, val) # 0 [1, 2, 3] # 1 [4, 5, 6]
辞書型(連想配列、dict
キーより
data = {"Tokyo":1, "Osaka":2, "Kyoto":3} for key in data.keys(): print(key) # Tokyo # Osaka # Kyoto
もちろんprintのところでキーを指定して値を取得することもできます。
data[key]
値より
data = {"Tokyo":1, "Osaka":2, "Kyoto":3} for value in data.values(): print(value) # 1 # 2 # 3
キーと値より
data = {"Tokyo":1, "Osaka":2, "Kyoto":3} for key, value in data.items(): print(key, value) # Tokyo 1 # Osaka 2 # Kyoto 3
この使い方を覚えておけばいいと思います。
Numpy配列
for val in data: print(val) # 1 # 2 # 3 # 4 # 5
Pandas
基本(おすすめ
df = pd.DataFrame([[1,2,3],[4,5,6]]) # リスト型のデータで作成 for index, row in df.iterrows(): print(index) print(row) # 0 # 0 1 # 1 2 # 2 3 # Name: 0, dtype: int64 # 1 # 0 4 # 1 5 # 2 6 # Name: 1, dtype: int64
他にもいろいろな方法はありますが、これ以外は使わなくても大丈夫です。
特定の列のみ
df = pd.DataFrame([[1,2,3],[4,5,6]], columns = ["aaa", "bbb", "ccc"]) for val in df["aaa"]: print(val) # 1 # 4
While文
基本
条件が満たされるまで繰り返します。
num = 0 while num < 2: print(num) num += 1 # 0 # 1
条件を終えた時の処理(while〜else
num = 0 while num < 2: print(num) num += 1 else: print("END") # 0 # 1 # END
無限ループ
無限ループを作成する場合は、while True:
としましょう。whileから抜けるにはbreak
とします。
num = 0 while True: print(num) num += 1 if num >= 2: break # 0 # 1