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
# 5Pandas
基本(おすすめ
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
# 4While文
基本
条件が満たされるまで繰り返します。
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
