Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

ビルトイン関数zipの使いみち

Pythonのビルトイン関数zipはiterate可能なモノをくっつける

実際のところ

試しに、rangeと文字列をくっつけてみます。
形態としてはzipオブジェクトとして格納されるみたいです。

zp = zip(range(0,100,20), 'abcde')
#>> <zip object at 0x1014386c8>

ビルトインのlist関数を使ってあげると、中身が確認できます。

list(zp)
#>> [(0, 'a'), (20, 'b'), (40, 'c'), (60, 'd')]

面白い使い方として、iteraterの際に変数にまとめて格納……なんて使い方も。

for align, text in zip('<^>', ['left', 'center', 'right']):
  '{0:{fill}{align}16}'.format(text, fill=align, align=align)

#'left<<<<<<<<<<<<'
#'^^^^^center^^^^^'
#'>>>>>>>>>>>right'