Python itertools
itertools
itertoolsはPythonで重複データを処理するライブラリです.
提供されるクラスはいくつかありますが、符号化テストで最も有用なクラスは配列、組合せです.
ディスプレイスメントは、リストのようなiterableオブジェクトからr個のデータを抽出して1列に列挙するすべての状況(順序)を計算します.ディスプレイスメントはクラスであるため、オブジェクトを初期化した後、リストデータ型に変換します.
from itertools import permutations
data = ['A', 'B', 'C']
result = list(permutations(data, 3))
print(result)
[('A', 'B', 'C'), ('A', 'C', 'B'), ('B', 'A', 'C'), ('B', 'C', 'A'), ('C', 'A', 'B'), ('C', 'B', 'A')]
コンビネーションは、リストのようなIterableオブジェクトからr個のデータを抽出し、順序を考慮せずにリストされたすべての状況(コンビネーション)を計算します.コンビネーションは、オブジェクトの初期化後にリストデータ型に変換されるクラスです.from itertools import combinations
data = ['A', 'B', 'C']
result = list(combinations(data, 2))
print(result)
[('A', 'B'), ('A', 'C'), ('B', 'C')]
productは、リストのようなiterableオブジェクトからr個のデータを抽出し、1列に列挙するすべての状況(配列など)を計算する.要素のみを繰り返し抽出します.Productオブジェクトを初期化すると、抽出するデータの数がrepeat属性値として使用されます.Productは、オブジェクトを初期化してリストデータ型に変換するクラスです.from itertools import product
data = ['A', 'B', 'C']
result = list(product(data, repeat=2)) # 2개를 뽑는 모든 순열 구하기(중복 허용)
print(result)
組合せwith replacementは、リストなどのiterableオブジェクトからr個のデータを抽出し、順序を考慮せずにリストする場合(組合せ)をすべて計算します.要素のみを繰り返し抽出します.組合せwith replacementはクラスであるため、オブジェクトの初期化後にリストデータ型に変換されます.
Reference
この問題について(Python itertools), 我々は、より多くの情報をここで見つけました https://velog.io/@mingggkeee/파이썬-itertoolsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol