这是在python中创建矩阵的正确方法吗

Coo*_*oud 1 python numpy matrix

我正在研究如何使用 Python 制作矩阵numpy并让用户为其输入值。

我遇到了一个使用特定代码的视频,在工作和理解它之后,我写了一些类似的东西,我得到了相同的输出。

我想知道这两种代码之间有什么区别,哪个更好、更智能、更易于使用。

这里的代码都创建了一个 3x3 矩阵

视频中的代码:

import numpy as np

r = 3
c = 3

a = np.zeros((r, c), dtype=np.int64)

for i in range(len(a)):
    for j in range(len(a[i])):
        num = int(input('Enter the entries: '))
        a[i][j] = num 
print(a)
Run Code Online (Sandbox Code Playgroud)

我的代码:

import numpy as np

r = 3
c = 3

a = np.zeros((r,c),dtype=np.int64)

for i in range(r):
    for j in range(c):
        num = int(input('Enter the entries: '))
        a[i][j] = num
print(a)
Run Code Online (Sandbox Code Playgroud)

Dav*_*d S 5

相同但更易于阅读的不同方式是:

import numpy as np

r = 3
c = 3

a = np.zeros((r,c),dtype=np.int64)
for idx in np.ndindex(r, c):
    num = int(input('Enter the entries: '))
    a[idx] = num
print(a)
Run Code Online (Sandbox Code Playgroud)

同样,这与您的代码基本相同,但使用np.ndindex并且适用于ndarray. 因此,如果您出于某种原因需要增加矩阵的维数,那么以这种方式会更容易,而不是添加另一个for循环