Python 根据对象的属性值查找特定对象集
我正在用平滑粒子流体动力学(SPH)做一个基于物理的模拟。为此,我在python中使用了两个类:用于运行模拟和更新系统状态的环境类:Python 根据对象的属性值查找特定对象集,python,list,Python,List,我正在用平滑粒子流体动力学(SPH)做一个基于物理的模拟。为此,我在python中使用了两个类:用于运行模拟和更新系统状态的环境类: class Environment(): def __init__(self, DIM, GRAVITY, dt): self.DIM = Dimension self.GRAVITY = Gravity self.dt = dt self.particles = [] 和用于定义每个粒子状
class Environment():
def __init__(self, DIM, GRAVITY, dt):
self.DIM = Dimension
self.GRAVITY = Gravity
self.dt = dt
self.particles = []
和用于定义每个粒子状态的粒子类:
class Particle():
def __init__(self, env, X, V, A, radius, mass, density, colour, neighbours):
self.env = env
self.X = Position
self.V = Velocity
self.A = Acceleration
self.radius = Radius
self.mass = Mass
self.density = Density
self.colour = Colour
self.neighbors = Neighbours
现在,我想根据属性X
(空间位置)在env.particles
中找到每个粒子的最近邻,并将它们放在particle.neights
中。对于最近的邻居,我正在使用“sklearn.neights”包中的KDTree
函数。但该函数需要所有粒子位置的向量(类似于env.particles.X
)。我想知道如何从env.particles
访问所有粒子作为向量的位置,将其作为KDTreee
函数的输入,以及如何将结果(即对象)放入particle.nexter
(这是粒子的属性)中