Я не уверен, что вы достигнете какой-либо производительности, но если вы хотите убедиться, что список содержит только определенные виды данных ...
class Group(Object):
#...
def isParticle(self, p):
return hasattr(p, "anAttributeOnlyParticlesHave")
def getPartiles(self):
return filter(self.isParticle, self._Particles)
def setParticles(self, newParticles):
self._Particles = filter(self.isParticle, newParticles)
particles = property(getParticles, setParticles)
Опять же, это не так быстро, но это прямой ответ на ваш вопрос.
Вы можете получить что-то, написав модуль C - я не уверен. Если вам действительно нужна производительность, вы используете не тот язык.
Обычно с Python типичные уловки скорости не работают. Под капотом происходит достаточно кеширования и оптимизации, которые вы, как правило, не получаете, думая в терминах, подобных C - если вы не пишете модули на C.