product
product
は、入力イテラブルのデカルト積を計算します。任意の数のイテラブルを引数として取り、各入力イテラブルの繰り返し回数を指定するオプションの repeat
パラメータを持ちます。
例:
WebIDEで product.py
という名前のプロジェクトを作成し、次の内容を入力します。
import itertools
## 2つのリストのデカルト積を計算する
list1 = [1, 2]
list2 = ['a', 'b']
product_iterator = itertools.product(list1, list2)
## 積のイテレータの要素を表示する
for item in product_iterator:
print(item)
出力:
次のコマンドを使用してスクリプトを実行します。
python product.py
(1, 'a')
(1, 'b')
(2, 'a')
(2, 'b')
permutations
permutations
は、入力イテラブルからの要素のすべての可能な順序付き順列を生成します。イテラブルとオプションの整数 r
を引数として取り、順列の長さを指定します。
例:
WebIDEで permutations.py
という名前のプロジェクトを作成し、次の内容を入力します。
import itertools
## リストから長さ2のすべての順列を生成する
list1 = [1, 2, 3]
permutations_iterator = itertools.permutations(list1, 2)
## 順列のイテレータの要素を表示する
for item in permutations_iterator:
print(item)
出力:
次のコマンドを使用してスクリプトを実行します。
python permutations.py
(1, 2)
(1, 3)
(2, 1)
(2, 3)
(3, 1)
(3, 2)
combinations
combinations
は、入力イテラブルからの要素のすべての可能な順序なしの組み合わせを生成します。イテラブルと整数 r
を引数として取り、組み合わせの長さを指定します。
例:
WebIDEで combinations.py
という名前のプロジェクトを作成し、次の内容を入力します。
import itertools
## リストから長さ2のすべての組み合わせを生成する
list1 = [1, 2, 3]
combinations_iterator = itertools.combinations(list1, 2)
## 組み合わせのイテレータの要素を表示する
for item in combinations_iterator:
print(item)
出力:
次のコマンドを使用してスクリプトを実行します。
python combinations.py
(1, 2)
(1, 3)
(2, 3)
combinations_with_replacement
combinations_with_replacement
は、入力イテラブルからの要素のすべての可能な順序なしの組み合わせを生成し、要素の重複を許します。イテラブルと整数 r
を引数として取り、組み合わせの長さを指定します。
例:
WebIDEで cr.py
という名前のプロジェクトを作成し、次の内容を入力します。
import itertools
## リストから長さ2の重複ありのすべての組み合わせを生成する
list1 = [1, 2, 3]
combinations_iterator = itertools.combinations_with_replacement(list1, 2)
## 重複ありの組み合わせのイテレータの要素を表示する
for item in combinations_iterator:
print(item)
出力:
次のコマンドを使用してスクリプトを実行します。
python cr.py
(1, 1)
(1, 2)
(1, 3)
(2, 2)
(2, 3)
(3, 3)