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 = [] 和用于定义每个粒子状

我正在用平滑粒子流体动力学(SPH)做一个基于物理的模拟。为此,我在python中使用了两个类:用于运行模拟和更新系统状态的环境类:

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
(这是粒子的属性)中