Python-エッセンシャルー3

ZIPを使う
names = ['Cecilia', 'Lise', 'marie']
letters = [len(n) for n in names]
longest_name = None
max_letters = 0
for i in range(len(names)):
count = letters[i]
if count > max_letters:
longest_name = names[i]
max_letters = count
これをenumerateに置き換えると
for i, name in enumerate(names):
count = letters[i]
if count > max_letters:
longest_name = names[i]
max_letters = count
これをzipに置き換えると
for name, count in zip(names, letters):
if count > max_letters:
longest_name = name
max_letters = count
注意
○ 組み込み関数zipが複数のイテレータを並列に処理するのに使える
○ Python3では、zipはタプルを生成する遅延評価ジェネレータである
○ 異なる長さのイテレータを与ると、zipは何も言わずに出力を最短で止め
る
○ 組み込みモジュールitertoolのzip_longest関数が、複数のイテレータ
が異なるときに使える。