環境設定 数値 文字列 正規表現 リスト タプル 集合 辞書 ループ 関数 クラス データクラス 時間 パス ファイル スクレイピング その他

Python の for ループで要素を 2 つずつとりだす方法 - iterator の応用

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

Python ループ