我想生成从列表项生成的所有可能的规则

时间:2017-04-09 17:51:31

标签: python-2.7

注意:我正在使用python工作。

例如给出一个列表:

list = ['E','D','F']

我想生成以下形式的所有规则:

['E']     --> ['D','F']
['D']     --> ['E','F']
['F']     --> ['E','D']
['E','D'] --> ['F']
['E','F'] --> ['D']
['D','F'] --> ['E']

1 个答案:

答案 0 :(得分:1)

查看Dan H here和Python documentation

的答案

代码应该类似于:

import itertools

letters = ['E','D','F']
for i in range(len(letters)+1):
    for j in itertools.combinations(letters, i):
        print j

这提供了以下输出:

()
('E',)
('D',)
('F',)
('E', 'D')
('E', 'F')
('D', 'F')
('E', 'D', 'F')

如果您不希望输出()只使用for i in range(1,len(letters)+1):