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)