Skip to main content
 首页 » 编程设计

python之Python 中的二维数组

2025年05月04日1798°冷暖

我有一个带有 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)