for文で配列・辞書要素を取り出すときのメモとして記載します。
参考:
Pythonのfor文によるループ処理(range, enumerate, zipなど)
x=[7,4,1]
y=[8,5,2]
d={'a':9,'b':6,'c':3}
# 基本
for i in x:
print(i)
#>>> 7
#>>> 4
#>>> 1
Dict(辞書型Key-Value)
# Dict(辞書型)
for k,v in d.items():
print(k,v)
#>>> a 9
#>>> b 6
#>>> c 3
#受ける変数を1つにするとTupleになる
for k in d.items():
print(k)
#>>> ('a', 9)
#>>> ('b', 6)
#>>> ('c', 3)
#キーだけ取り出す
for k in d.keys():
print(k)
#>>> a
#>>> b
#>>> c
#値だけ取り出す
for v in d.values():
print(v)
#>>> 9
#>>> 6
#>>> 3
zip
#zipでまとめる
for i,j in zip(x,y):
print(i,j)
#>>> 7 8
#>>> 4 5
#>>> 1 2
#受ける変数を1つにするとTupleになる。
for i in zip(x,y):
print(i)
#>>> (7, 8)
#>>> (4, 5)
#>>> (1, 2)
#辞書型はTupleになる
for i,j,k,l in zip(x,y,d.items(),x):
print(i,j,k,l)
#>>> 7 8 ('a', 9) 7
#>>> 4 5 ('b', 6) 4
#>>> 1 2 ('c', 3) 1
#辞書型はTupleになるのでインデックス番号で分ける
for i,j,k in zip(x,y,d.items()):
print(i,j,k[0],k[1])
#>>> 7 8 a 9
#>>> 4 5 b 6
#>>> 1 2 c 3
#受ける変数を1つにするとTupleになる。
for i in zip(x,y,d.items(),x):
print(i)
#>>> (7, 8, ('a', 9), 7)
#>>> (4, 5, ('b', 6), 4)
#>>> (1, 2, ('c', 3), 1)
enumerate
# enumerateを使ってインデックス番号を入れる
for i, j in enumerate(y):
print(i,j)
#>>> 0 8
#>>> 1 5
#>>> 2 2
#受ける変数を1つにするとTupleになる。
for i in enumerate(y):
print(i)
#>>> (0, 8)
#>>> (1, 5)
#>>> (2, 2)
#辞書型を入れる。辞書型はTupleになる。受ける変数を3つにするとエラーになる
for i, j in enumerate(d.items()):
print(i,j)
#>>> 0 ('a', 9)
#>>> 1 ('b', 6)
#>>> 2 ('c', 3)
#Zipを入れてみる。受ける変数を4つにするとエラーになる。受ける変数は2つ。Zip内はTupleになる
for i, j in enumerate(zip(x,y,d.items())):
print(i,j)
#>>> 0 (7, 8, ('a', 9))
#>>> 1 (4, 5, ('b', 6))
#>>> 2 (1, 2, ('c', 3))
#zip内の内容を受ける変数をTupleにすると個別に受け取ることができる
for i,(j,k,l) in enumerate(zip(x,y,d.items())):
print(i,j,k,l)
#>>> 0 7 8 ('a', 9)
#>>> 1 4 5 ('b', 6)
#>>> 2 1 2 ('c', 3)