itertoolsライブラリー

①複数のリストを連続した要素して利用する
from itertools import chain

list_a = ['マグロ', 'はまち']
list_b = ['イカ']
list_c = ['あじ', 'いくら', 'サーモン']

for sushi in chain(list_a, list_b, list_c):
    print(sushi)

3つのリスト( ['マグロ', 'はまち'] 、 ['イカ'] 、 ['あじ', 'いくら', 'サーモン'] )を連続して同じfor分の要素として利用できました。itertools.chain()を使わない場合は以下のようになりますね。

for sushi_list in [list_a, list_b, list_c]:
    for sushi in sushi_list:
        print(sushi)
itertools.chain()を使うとネストする必要がなくなります。


②複数のリストのすべての要素の組み合わせが欲しい

from itertools import product

fishes = ['マグロ', 'サバ', 'たら']
countries = ['日本', 'アメリカ']

itertools.product() を利用しない場合はfor文のネストを利用して以下のようになります。

for fish in fishes:
    for country in countries:
        print(f'{fish} (産地: {country})')



③スペースなしにけつごうする

from itertools import product

suits = ['♦', '♥', '♠', '♣']
ranks = ['A', 'J', 'Q', 'K']

for suit, rank in product(suits, ranks):
    print(suit,rank, sep="")


繰り返し処理によく使える
https://docs.python.org/ja/3/library/itertools.html


for fish, country in product(fishes, countries):
    print(f"{fish}(産地:{country})")