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)
相同但更易于阅读的不同方式是:
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循环