繰り返し
Pythonの繰り返し文の文法メモです。
for
for 変数 in イテラブル:
処理
通常例題
mylist = [0, 1, 2]
for value in mylist:
print(value)
繰り返しの最後に実行する
基本的にfor文の後に処理を書けば同じことができるが、breakが実行された場合は、elseは実行されない
for 変数 in イテラブル:
処理
else:
処理
for value in range(6):
print(value)
0
1
2
3
4
5
範囲指定
0始まりのため、startを1にすると1,2までしか出力されない→最後の要素は最大の-1となる
rangeに第3引数を与えるとstepとなり、valueがendを超えるまでstartがstepづつ増えていく
for value in range(start, end):
処理
for value in range(0, 3):
print(value)
0
1
2
for value in range(start, end, step):
処理
for value in range(1, 5, 2):
print(value)
# 1が5を過ぎるまで2づつ増えて
# 1, 1+2=3となる
1
3
for i in range(2,9,3):
print(i)
# 2が3づつ増えて2, 2+3=5, 5*3で8となる
2
5
8
中断
・breakでforを抜ける
・continueでスキップ
文字列
str="abcd"
for i in str:
print(i)
a
b
c
d
添え字も返す
for key, value in enumerate([1,2,4]):
print(key,value)
0 1
1 2
2 4
dictの繰り返し
dict = {1:"a", 2:"c", 3:"d", 4:"b"}
for key, value in dict.items():
print(key, value)
1 a
2 c
3 d
4 b
while
while 条件:
処置
通常例文
count = 0
while count < 5:
count += 1
print(count)
1
2
3
4
5
break, continue, elseについてはforと同じ
リスト内包記法
リスト内で簡潔に定義できる
list = [value for value in リテラブル]
# for文で書くと
list = []
for value in リテラブル
list.append(value)
通常例文
list = [value for value in [1,2,3,4]]
print(list)
[1, 2, 3, 4]
条件
if文の条件がTrueの場合のみリストに追加する
[value for value in イテラブル if 条件]
list = [value for value in range(10) if value % 2 == 0]
print(list)
[0, 2, 4, 6, 8]
複数条件
elseが入るとif文を書く位置が変わるので注意
[value if 条件 else 条件 for value in イテラブル]
list = [value if value % 2 == 0 else 0 for value in range(10)]
print(list)
# 条件がFalseのものは0が入るようになった
[0, 0, 2, 0, 4, 0, 6, 0, 8, 0]