第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何在Python中生成列表的所有排列

如何在Python中生成列表的所有排列

如何在Python中生成列表的所有排列如何在Python中生成列表的所有排列,與該列表中的元素類型無關(guān)?例如:permutations([])[]permutations([1])[1]permutations([1, 2])[1, 2][2, 1]permutations([1, 2, 3])[1, 2, 3][1, 3, 2][2, 1, 3][2, 3, 1][3, 1, 2][3, 2, 1]
查看完整描述

4 回答

?
狐的傳說

TA貢獻1804條經(jīng)驗 獲得超3個贊

以下代碼僅適用于Python 2.6及更高版本


一,進口itertools:


import itertools

排列(訂單事宜):

print list(itertools.permutations([1,2,3,4], 2))

[(1, 2), (1, 3), (1, 4),

(2, 1), (2, 3), (2, 4),

(3, 1), (3, 2), (3, 4),

(4, 1), (4, 2), (4, 3)]

組合(順序無關(guān)緊要):

print list(itertools.combinations('123', 2))

[('1', '2'), ('1', '3'), ('2', '3')]

笛卡爾積(有幾個迭代):

print list(itertools.product([1,2,3], [4,5,6]))

[(1, 4), (1, 5), (1, 6),

(2, 4), (2, 5), (2, 6),

(3, 4), (3, 5), (3, 6)]

笛卡兒積(一個可迭代的本身):

print list(itertools.product([1,2], repeat=3))

[(1, 1, 1), (1, 1, 2), (1, 2, 1), (1, 2, 2),

(2, 1, 1), (2, 1, 2), (2, 2, 1), (2, 2, 2)]


查看完整回答
反對 回復(fù) 2019-05-27
?
侃侃爾雅

TA貢獻1801條經(jīng)驗 獲得超16個贊

def permutations(head, tail=''):
    if len(head) == 0: print tail    else:
        for i in range(len(head)):
            permutations(head[0:i] + head[i+1:], tail+head[i])

稱為:

permutations('abc')


查看完整回答
反對 回復(fù) 2019-05-27
  • 4 回答
  • 0 關(guān)注
  • 2586 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號