Python の for ループで要素を 2 つずつとりだす方法 - iterator の応用
2023.02.18
Python のビルトイン関数 iter を使うと、for ループで要素を 2 つずつとりだせます。
data = [1, 2, 3, 4, 5, 6, 7]
iteration = iter(data)
for first, second in zip(iteration, iteration):
print(f'{first}, {second}')
# 1, 2
# 3, 4
# 5, 6
zip は複数の iterable を一つにまとめる関数です。同じリストをループにかけても意味はありませんが、同じ iterator を並べてループさせると、とりだされる要素のインデックスが for ループごとに 2 つ増えます。
iterable ループにかけられるもの
iterator 複数の要素からなる列
iterator のしくみがわかると、リストから 3 つずつとりだす方法もわかります。
data = [1, 2, 3, 4, 5, 6, 7]
iteration = iter(data)
for first, second, third in zip(iteration, iteration, iteration):
print(f'{first}, {second}, {third}')
# 1, 2, 3
# 4, 5, 6