如何在重复数字的python中创建矩阵?

我想:

创建一个从 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,所以任何帮助将不胜感激!


LEATH
浏览 318回答 3
3回答

萧十郎

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 itertoolsmatrix = []for code in itertools.product( range(5), repeat=3 ):     matrix.append( list(code) )

慕桂英3389331

请注意,您确实希望矩阵具有 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])还有其他可能更快的方法来做到这一点,但对于纯粹的完成速度,很难击败它。

慕村225694

 list_ = [] for a in range(5):     for b in range(5):        for c in range(5):              list_ += [a ,b ,c ] print(list_)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python