是否有一种方法可以基于值获得元素的唯一组合?

问题描述 投票:0回答:1

是否有一种方法可以根据值而不是位置来获得唯一的组合?

我曾使用此代码来获得独特的解决方案,但大多数重复了。还有其他选择吗?

for i in itertools.permutations(['1','0','0'],3):
print(i)

结果得到

('1', '0', '0')
('1', '0', '0')
('0', '1', '0')
('0', '0', '1')
('0', '1', '0')
('0', '0', '1')

我想要的是

('1', '0', '0')
('0', '1', '0')
('0', '0', '1')

有没有办法只获得这些解决方案?

python-3.x algorithm itertools
1个回答
0
投票

只需将set()应用于您的结果。它将消除重复项:

set(itertools.permutations(['1','0','0'], 3))
#{('1', '0', '0'), ('0', '0', '1'), ('0', '1', '0')}
© www.soinside.com 2019 - 2024. All rights reserved.