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

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

如何在重復數字的python中創建矩陣?

如何在重復數字的python中創建矩陣?

LEATH 2021-09-14 10:22:32
我想:創建一個從 0 到 4 的向量列表,即 [0, 1, 2, 3, 4] 并從中創建一個包含從 0 到 4 的“分層列表”的矩陣,3 次,每個維度一次. 矩陣有 4^3 = 64 行,例如T = [0 0 0           0 0 1         0 0 2         0 0 3         0 0 4         0 1 0         0 1 1         0 1 2         0 1 3         0 1 4         0 2 0         ...         1 0 0         ...         1 1 0         ....         4 4 4]    這是我到目前為止:n=5;ind=list(range(0,n))print(ind)我剛剛開始使用 Python,所以任何幫助將不勝感激!
查看完整描述

3 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

python itertools 模塊 product()函數可以做到這一點:


for code in itertools.product( range(5), repeat=3 ):

    print(code)

給出結果:


(0, 0, 0)

(0, 0, 1)

(0, 0, 2)

(0, 0, 3)

...

(4, 4, 2)

(4, 4, 3)

(4, 4, 4)

所以要把它變成一個矩陣:


import itertools

matrix = []

for code in itertools.product( range(5), repeat=3 ):

     matrix.append( list(code) )


查看完整回答
反對 回復 2021-09-14
?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

請注意,您確實希望矩陣具有 5^3 = 125 行?;镜拇鸢甘窃谇短椎?for 循環中迭代:


T = []

for a in range(5):

    for b in range(5):

        for c in range(5):

            T.append([a, b, c])

還有其他可能更快的方法來做到這一點,但對于純粹的完成速度,很難擊敗它。


查看完整回答
反對 回復 2021-09-14
?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

 list_ = []

 for a in range(5):

     for b in range(5):

        for c in range(5):

              list_ += [a ,b ,c ]


 print(list_)


查看完整回答
反對 回復 2021-09-14
  • 3 回答
  • 0 關注
  • 342 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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