给定主列表的所有可能的 n 成员组合的 Python 列表

给定一个列表l:


l = ['A', 'B', 'C']

我如何编写一个函数来返回n列表列表中所有可能的唯一成员组合?顺序与唯一性无关紧要。此示例中的输出将是(顺序在输出中也不重要):


my_function(list=l, n=1)


[['A'], ['B'], ['C']]


my_function(list=l, n=2)


[['A', 'B'], ['A', 'C'], ['B', 'C']]


my_function(list=l, n=3)


[['A', 'B', 'C']]


Qyouu
浏览 100回答 2
2回答

侃侃尔雅

您可以用于itertools.combinations任务:from itertools import combinationsl = ['A', 'B', 'C']def my_function(lst, n):    rv = []    for c in combinations(lst, n):        rv.append(list(c))    return rvprint(my_function(l, 1))print(my_function(l, 2))print(my_function(l, 3))印刷:[['A'], ['B'], ['C']][['A', 'B'], ['A', 'C'], ['B', 'C']][['A', 'B', 'C']]

拉风的咖菲猫

没有 Itertools:a=['A','B','C']def combi(a):    result = [[]]    for x in a:       result.extend([subset + [x] for subset in result])    return resultprint(combi(a))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python