亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

給定主列表的所有可能的 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條經驗 獲得超16個贊

您可以用于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 關注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號