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

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

回溯創(chuàng)建正方形

回溯創(chuàng)建正方形

慕容708150 2023-02-22 15:49:49
a = []def make_squares(arr, length, nums):    if not nums:        print(arr)        a.append(arr)        return    r = 0    while r < len(arr) and len(arr[r]) == length:        r += 1    for i in nums:        nums.remove(i)        arr[r].append(i)        make_squares(arr, length, nums)        nums.append(i)        arr[r] = arr[r][:-1]make_squares([[] for i in range(3)], 3, [i+1 for i in range(3**2)])print(a)我正在嘗試使用上面的代碼創(chuàng)建nxn矩陣,每個(gè)矩陣都有一個(gè) numbers 的排列i+1...n^2。我已經(jīng)打印了每個(gè)附加到 a 的矩陣,它們看起來是正確的,但是當(dāng)我最后打印 a 時(shí),我得到了[[[], [], []], [[], [], []], ...]。這對我來說沒有任何意義。預(yù)期的結(jié)果是[[[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[1, 2, 3], [4, 5, 6], [7, 9, 8]], ...]
查看完整描述

1 回答

?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊

順序可能與您預(yù)期的結(jié)果不同,但這對標(biāo)準(zhǔn)庫itertools模塊來說是個(gè)竅門:


import itertools


def make_squares(w):

    size = w * w

    for perm in itertools.permutations(range(1, size + 1)):

        # "grouper" from the itertools recipe list

        yield list(itertools.zip_longest(*[iter(perm)] * w))


for square in make_squares(3):

    print(square)

印刷


[(1, 2, 3), (4, 5, 6), (7, 8, 9)]

[(1, 2, 3), (4, 5, 6), (7, 9, 8)]

[(1, 2, 3), (4, 5, 6), (8, 7, 9)]

[(1, 2, 3), (4, 5, 6), (8, 9, 7)]

[(1, 2, 3), (4, 5, 6), (9, 7, 8)]

[(1, 2, 3), (4, 5, 6), (9, 8, 7)]

[(1, 2, 3), (4, 5, 7), (6, 8, 9)]

[(1, 2, 3), (4, 5, 7), (6, 9, 8)]

[(1, 2, 3), (4, 5, 7), (8, 6, 9)]

[(1, 2, 3), (4, 5, 7), (8, 9, 6)]

[(1, 2, 3), (4, 5, 7), (9, 6, 8)]

[(1, 2, 3), (4, 5, 7), (9, 8, 6)]

[(1, 2, 3), (4, 5, 8), (6, 7, 9)]

[(1, 2, 3), (4, 5, 8), (6, 9, 7)]

[(1, 2, 3), (4, 5, 8), (7, 6, 9)]

...


查看完整回答
反對 回復(fù) 2023-02-22
  • 1 回答
  • 0 關(guān)注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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