对象数据类型python中的矩阵



你能解释一下如何在python中创建一个矩阵,以便在对象数据类型中创建吗。我的代码:

w, h = 8, 5;
Matrix = ([[0 for x in range(w)] for y in range(h)],dtype=object)

给出语法错误。我尝试了其他各种方法。但仍然没有一个工作。

非常感谢

在您的代码中,Matrix行试图创建一个元组,但您给它一个表达式dtype=object

Matrix = ([[0 for x in range(w)] for y in range(h)],dtype=object)

行内容为:将矩阵设置为元组(2D array, dtype=object)。但是,无法设置第二部分。您可以按如下方式创建矩阵:

Matrix = [[0 for x in range(w)] for y in range(h)]

或者,如果您想要一个具有dtype对象的numpy数组:

import numpy as np
Matrix = np.array([[0 for x in range(w)] for y in range(h)], dtype=object)

甚至更干净:

import numpy as np
Matrix = np.zeros((h, w), dtype=object)

让我向您展示使用numpy模块和循环的两个选项。

import numpy as np
print("Using numpy module:")
x = np.array([1,5,2])
y = np.array([7,4,1])
sum = x + y
subtract = x - y
mult = x * y
div = x / y
print("Sum: {}".format(sum))
print("Subtraction: {}".format(subtract))
print("Multiplication: {}".format(mult))
print("Division: {}".format(div))
print("----------------------------------------")
print("Using for loops:")
x = [1,5,2]
y = [7,4,1]
sum = []
subtract = []
mult =[]
div = []
for i,j in zip(x,y):
sum.append(i+j)
subtract.append(i-j)
mult.append(i*j)
div.append(i/j)

print(sum)
print(subtract)
print(mult)
print(div)

最新更新