Nick es correcto. Además, aunque no puedo hablar con Python, en otros lenguajes de OO (Java, Smalltalk) la creación de subclases de una lista es una mala idea. Se debe evitar la herencia en general y, en su lugar, se debe usar la composición de la delegación.
En su lugar, realiza una clase contenedora y delega llamadas a la lista. La clase de contenedor tiene una referencia a la lista e incluso puede exponer las llamadas y devoluciones de la lista en sus propios métodos. Esto agrega flexibilidad y le permite cambiar la implementación (un tipo de lista diferente o estructura de datos) más tarde sin romper ningún código. Si desea que su lista haga cosas diferentes de tipo listy, su contenedor puede hacer esto y usar la lista simple como una estructura de datos simple. Imagine si tenía 47 usos diferentes de listas. ¿De verdad quieres mantener 47 subclases diferentes? En cambio, puede hacerlo a través del contenedor y las interfaces. Una clase para mantener y permitir que las personas llamen a sus métodos nuevos y mejorados a través de la (s) interfaz (es) con la implementación que queda oculta.
La lista de subclases no es inherentemente mala, pero hay muchos casos en los que realmente no es lo que quieres hacer. No podemos responder si ese es el caso aquí a menos que nos proporciones detalles. –