作为我项目的一部分,我需要将字符分组为对(唯一)。我在一个列表中有超过 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')]