我有一个带有 int 值的向量,例如:
v=[10,8,6]
我想要的是创建一个 m*m 矩阵来存储这些元素之间的距离,即获取向量的每个元素并将其从所有其他元素中减去,所以最后我将得到:
m[3][3]=10-10 10-8 10-6
8-10 8-8 8-6
6-10 6-8 6-6
我想在 Python 中实现它,但不使用 NumPy。到目前为止我已经这样做了:
def main():
v=[10,8,6]
l=len(v)
m=[]
#filling the matrix
for i in range(0,l-1):
for j in range(0,l-1):
m[i][j]=abs(v[i]-v[j])
#visualize the matrix
for i in range(0,l-1):
for j in range(0,l-1):
print m[i][j]
但是我遇到了一些无法识别 m 边界的错误。这是为什么?
最佳答案
v= [10,8,6]
m = [[abs(y-x) for y in v] for x in v]
编辑:
对于 pretty-print ,你可以使用类似的东西:
for i in m:
print '%s '*len(i) % tuple(i)
关于python - Python 中的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8114425/