是否有一种方法可以根据值而不是位置来获得唯一的组合?
我曾使用此代码来获得独特的解决方案,但大多数重复了。还有其他选择吗?
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')
有没有办法只获得这些解决方案?
只需将set()
应用于您的结果。它将消除重复项:
set(itertools.permutations(['1','0','0'], 3))
#{('1', '0', '0'), ('0', '0', '1'), ('0', '1', '0')}