【发布时间】:2017-04-13 10:54:52
【问题描述】:
我目前正在做一个项目,我需要使用算术运算符(+、-、*、/)找到正确的数字组合,并且我需要在 4 个运算符的列表中创建所有可能的元素组合。
对于列表operators = ['+', '-', '*', '/'],我尝试使用list(itertools.combinations_with_replacement(operators ,3)),但它返回一个列表:
[('+', '+', '+'), ('+', '+', '-'), ('+', '+', '/'), ('+', '+', '*'), ('+', '-', '-'), ('+', '-', '/'), ('+', '-', '*'), ('+', '/', '/'), ('+', '/', '*'), ('+', '*', '*'), ('-', '-', '-'), ('-', '-', '/'), ('-', '-', '*'), ('-', '/', '/'), ('-', '/', '*'), ('-', '*', '*'), ('/', '/', '/'), ('/', '/', '*'), ('/', '*', '*'), ('*', '*', '*')]
问题是,我还需要 ('*', '+', '*') 这样的组合,但不包括在内。
我也试过itertools.permutations(operators, 3),但在这种情况下,运营商不会重复自己。
有什么方法或方法可以获得所有可能的组合吗?
谢谢。
【问题讨论】:
-
你应该使用
product...
标签: python python-3.x combinations