首先,应生成列表的所有可能组合。这是一个简单的问题 - 感谢itertools.combinations。然后,必须根据以下优先级对组合进行排序:原始列表的第一个元素具有最高优先级,第二个具有第二个优先级,依此类推。请注意,任何较低优先级的分组都不能高于任何较高优先级。简单的例子:
input = ['A', 'B']
output = [['A', 'B'], ['A'], ['B']]
3个元素示例:
input = ['A', 'B', 'C']
output = [['A', 'B', 'C'], ['A', 'B'], ['A', 'C'], ['A'], ['B', 'C'], ['B'], ['C']]
问题:给定任何元素的列表,如何找到按优先级排序的所有可能组合的列表,如上所述?
慕丝7291255
慕雪6442864
拉丁的传说
相关分类