你能解释一下如何在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)