我正在使用关联的矩阵进行练习,并且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]
答案 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 类型存在的方法,因此您可以 将不得不重新考虑实现所需功能的方法。