给出的是一个可能组合的列表(|| 是或,&& 是和)。
lst = ['(a || b) && (c && d)', '(e && f) || (g || h)', '(i || j) || k']
我怎样才能在新列表中得到所有可能的组合?样本的结果将是:
rsltlst = ['a && c && d', 'b && c && d', 'e && f', 'g', 'h', 'i', 'j', 'k']
Run Code Online (Sandbox Code Playgroud)
谢谢!
为了降低复杂性,它也可以是单个字符串而不是列表:
str = '(a || b) && (c && d)'
Run Code Online (Sandbox Code Playgroud)
这会给你两个解决方案:
sol1 = 'a && c && d'
sol2 = 'b && c && d'
Run Code Online (Sandbox Code Playgroud)