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})")