python - Python 中的二维数组

标签 python arrays

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

相关文章:

java - 不知道用户什么时候才能停止猜测呢?

python - 增加列表元素内的值

python - Pandas:计算一个值连续多长时间

arrays - Mongodb Node.js 组织数组结果

c - 为什么代码只打印指向字符串的指针数组中最后一个指针的值?

c - C 中的数组初始化 — "cannot convert ' < 括号括起来的初始化列表 >' to ' float' 赋值“错误

c - 仅当文件存在时才将文件内容加载到结构中或使用默认值

javascript - Django 模板中的 List.pop() 没有 for 循环

python - Microsoft Graph API 的 "Access is denied. Check credentials and try again"

python - 类初始化