从列表中Python中的无序对(对集)

Chr*_*rgo 4 python python-itertools

我有一个项目清单

 alist = ['dog', 'cat', 'fish']
Run Code Online (Sandbox Code Playgroud)

我想返回所有唯一的无序对,所以在这种情况下:

 (dog,cat)(dog,fish)(fish,cat)
Run Code Online (Sandbox Code Playgroud)

itertools.combinations 不考虑无序条件,所以它不是我需要的.

Pru*_*une 10

你在itertools的问题在哪里?

import itertools

alist = ['dog', 'cat', 'fish']
for result in itertools.combinations(alist, 2):
    print result
Run Code Online (Sandbox Code Playgroud)

输出:

('dog', 'cat')
('dog', 'fish')
('cat', 'fish')
Run Code Online (Sandbox Code Playgroud)