我得到了:
TypeError:未确定对象的len()
运行以下脚本后:
from numpy import *
v=array(input('Introduce un vector v: '))
u=array(input('Introduce un vector u: '))
nv= len(v)
nu= len(u)
diferenza= 0; i=0
if nv==nu:
while i<nv:
diferenza=diferenza + ((v[i+1]-u[i+1]))**2
modulo= sqrt(diferenza)
print('Distancia', v)
else:
print('Vectores de diferente dimensión')
我该如何解决这个问题?
答案 0 :(得分:4)
使用阵列&#39;而是size
属性:
nv = v.size
nu = u.size
您可能还想使用numpy.fromstring
将输入字符串转换为数组:
>>> v = np.fromstring(input('enter the elements of the vector separated by comma: '), dtype=int, sep=',')
enter the elements of the vector separated by comma: 1, 2, 3
>>> v
array([1, 2, 3])
>>> len(v)
3
>>> v.size
3
答案 1 :(得分:0)
对于我来说,当我遇到以下情况时会发生此错误:
import numpy as np
arr = np.array([[1]])
arr_squeezed = arr.squeeze()
len(arr_squeezed) # TypeError: len() of unsized object
要使其正常工作,请确保要压缩的数组包含一个以上的元素。