zip関数

zip関数は、リストの横の並びを縦に見てくれる。

a = (1, 2, 3)
b = (4, 5, 6)
c = (7, 8, 9)
print zip(a, b, c)  #=> [(1, 4, 7), (2, 5, 8), (3, 6, 9)]

a = (0, 1, 2, 3)
print zip( a, a[1:]+(a[0],) )  #=> [(0, 1), (1, 2), (2, 3), (3, 0)]

これは、1種類もしくは2種類以上の複数のリストの情報をいっぺんに1つずつ取り出したい時に便利である。

#まだスライシングを勉強していないので、(1, 2, 3, 0)を作り出す a[1:]+(a[0],) の部分がうまくない…。もっときれいにできないものか。