配列の要素を順に処理する場合で、前の要素と今の要素を比較して処理することがある。その場合、以下のように書いていた。
a = [1, 2, 2, 3, 4]
prev = a[0]
for cur in a[1:]:
if prev == cur:
print('same', prev, cur)
prev = cur
しかし、このprev = cur
をよく書き忘れる。内部の処理が長くなったり編集したりすると間違って削除してしまっても気づきにくい。
というわけで今は以下のような書き方をしている。
a = [1, 2, 2, 3, 4]
for prev, cur in zip(a[:-1], a[1:]):
if prev == cur:
print('same', prev, cur)
これならprev = cur
を書き忘れないし、2行短い^^/