プロジェクトの一環として、キャラクターをペアとしてグループ化する必要があります(一意)。リストにはこれらの文字が1000個以上あります。これらの文字のリストから一意のペアを作成するための最速で最適化された方法は何でしょうか。現在itertoolsを使用していますが、コードのパフォーマンスがかなり悪いようです。
itertoolsを使用した私のコード:
import itertools
characters = ['A', 'B', 'C', 'D', 'E']
relations = []
for character in range(len(characters) + 1):
for combination in itertools.combinations(characters, character):
if len(combination) == 2:
relations.append(combination)
print relations
期待される出力:
[('A', 'B'), ('A', 'C'), ('A', 'D'), ('A', 'E'), ('B', 'C'),
('B', 'D'), ('B', 'E'), ('C', 'D'), ('C', 'E'), ('D', 'E')]