如何在此矩阵中排列向量?

时间:2019-06-22 02:41:37

标签: python

我正在使用关联的矩阵进行练习,并且distancia.array函数存在错误,但是现在我不知道为什么会出现此错误。

import numpy as np
ciudades = []
arch = open("distancia.txt","r")
linea = arch.readline().strip()
matriz = np.zeros([10,10])

while  linea != "" :

    partes = linea.split(",")
    nombre = partes [0]
    nombre2 = partes[1]
    distancia = int(partes[2])

    if nombre not in ciudades :
        ciudades.append(nombre)
    if nombre2 not in ciudades :
        ciudades.append(nombre2)

    x = ciudades.index(nombre)
    y = ciudades.index(nombre2)

    distancia.array = matriz[x][y]
    distancia.array = matriz[y][x] 

1 个答案:

答案 0 :(得分:1)

我不确定您要完成什么,但是您的错误是因为内置的Python数字类型没有附加数组属性。让我们看一个例子:

distancia = int(partes[2])

打个比方:

distance = int("7")
print(distance)  # 7
print(type(distance))  # <type 'int'>

现在让我们看看为 int 类型基元提供的所有方法:

print(dir(distance))  #  ['__abs__', '__add__', '__and__', '__class__', '__cmp__', 
# '__coerce__', '__delattr__', '__div__', '__divmod__', '__doc__', '__float__', 
#'__floordiv__', '__format__', '__getattribute__', '__getnewargs__', '__hash__', 
# '__hex__', #'__index__', '__init__', '__int__', '__invert__', '__long__', '__lshift__', 
# '__mod__', #'__mul__', '__neg__', '__new__', '__nonzero__', '__oct__', '__or__', 
# '__pos__', '__pow__', #'__radd__', '__rand__', '__rdiv__', '__rdivmod__', '__reduce__', 
# '__reduce_ex__', #'__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', 
# '__ror__', '__rpow__', , 'conjugate', 'denominator', 'imag', 'numerator', 'real',
#'__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', 
#'__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', 
#'__xor__', 'bit_length']`

如您所见,数组不是内置的 int 类型存在的方法,因此您可以 将不得不重新考虑实现所需功能的方法。