为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Qyouu 2023-04-25 16:21:43
给定一个列表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']]
查看完整描述

2 回答

?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

您可以用于itertools.combinations任务:

from itertools import combinations


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


def my_function(lst, n):

    rv = []

    for c in combinations(lst, n):

        rv.append(list(c))

    return rv


print(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']]


查看完整回答
反对 回复 2023-04-25
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

没有 Itertools:


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

def combi(a):


    result = [[]]

    for x in a:

       result.extend([subset + [x] for subset in result])

    return result

print(combi(a))


查看完整回答
反对 回复 2023-04-25
  • 2 回答
  • 0 关注
  • 75 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信