首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >numpy数组元素列表- ValueError:包含多个元素的数组的真值不明确。使用a.any()或a.all()

numpy数组元素列表- ValueError:包含多个元素的数组的真值不明确。使用a.any()或a.all()
EN

Stack Overflow用户
提问于 2022-05-15 16:04:53
回答 1查看 553关注 0票数 -1

我有一个存储numpy数组的列表,名为Triangle

代码语言:javascript
复制
File "main.py", line 63, in triangleCase
    Triangle.remove(OB)
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

我也有

代码语言:javascript
复制
AttributeError: 'numpy.ndarray' object has no attribute 'append'

但我无法复制这个

编辑:功能:

代码语言:javascript
复制
def triangleCase():
  global Triangle, d
  OA = Triangle[-1]
  OB = Triangle[-2]
  OC = Triangle[-3]
  AB = OB - OA
  AO = - OA
  AC = OC - OA
  ABperp = tripleProd(AC,AB,AB) #(AC x AB) x AB
  ACperp = tripleProd(AB,AC,AC) #(AB x AC) x AC
  if dot(ABperp, AO) > 0: #RAB
    Triangle.remove(OC)
    d = ABperp
    return False
  if dot(ACperp,AO) > 0: #RAC
    Triangle.remove(OB)
    d = ACperp
    return False
  return True #RABC

给出错误的三角形和d的一个值是:

代码语言:javascript
复制
Error: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Triangle: [array([-17.462565  ,  20.63435875,   0.        ]), array([31.69419203, -2.95257267,  0.        ]), array([ 13.97174987, -18.31107765,   0.        ]), array([-52.2462343 ,  32.56502419,   0.        ]), array([-8.3122833 , 64.51505875,  0.        ]), array([ -4.82763387, -49.86062945,   0.        ])]

d: [  8.3122833  -64.51505875  -0.        ]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-15 16:13:14

从您的错误中,我了解到您试图使用remove从数组中删除一个元素。但是,不能对数组执行此操作。你需要这样做:

代码语言:javascript
复制
def triangleCase():
  global Triangle, d
  OA = Triangle[-1]
  OB = Triangle[-2]
  OC = Triangle[-3]
  AB = OB - OA
  AO = - OA
  AC = OC - OA
  ABperp = tripleProd(AC,AB,AB)
  ACperp = tripleProd(AB,AC,AC)
  if dot(ABperp, AO) > 0: #RAB
    Triangle.remove(OC)#Triangle=np.delete(Triangle,-3,0)
    d = ABperp
    return False
  if dot(ACperp,AO) > 0: #RAC
    Triangle.remove(OB)#Triangle=np.delete(Triangle,-2,0)
    d = ACperp
    return False
  return True #RABC
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72249971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档