考虑一下rhinopython中的以下文本,其中arrPts是一个点的列表
start_point = rs.GetPoint()
arrPts0 = []
arrPts0 = rs.GetPoints()
arrPts=[]
for ind, pt in enumerate(arrPts0):
arrPts.append( [pt,ind, 'angle','vector',0] )
然后我通过一个函数(def)运行arrPts,该函数用实际的角度字符串(例如,'gt;45')替换'angle',然后我想运行下面的代码,该代码最后调用另一个名为'add_Vectors'的单独函数(def):
^{pr2}$我如何用list comprehension重写上面的部分,使它只在满足条件时运行,而不是创建一个新列表(newPts),而是始终在主列表(arrPts)上工作,如果有函数(def)的话?在
比如:
Vectors.append(add_Vectors(newPts, start_point) ----> for '>45' in pt[2]
谢谢
帕夫
1小时后。。。。。。尝试过,但似乎不起作用:
newPts = []
Vectors = add_Vectors([newPts for pt in arrPts if '<45' in pt[2]], start_point)
我想我只找到了一行的正确语法!在
相关问题 更多 >
编程相关推荐