Supongamos que estoy creando una clase simple para que funcione de forma similar a una estructura de estilo C, solo para contener elementos de datos. Estoy intentando descubrir cómo buscar una lista de objetos para objetos con un atributo que iguale un cierto valor. A continuación se muestra un ejemplo trivial para ilustrar lo que estoy tratando de hacer.Búsqueda de una lista de objetos en Python
Por ejemplo:
class Data:
pass
myList = []
for i in range(20):
data = Data()
data.n = i
data.n_squared = i * i
myList.append(data)
¿Cómo hago para buscar en la lista myList para determinar si contiene un elemento con n == 5?
He estado buscando en Google y buscando en los documentos de Python, y creo que podría hacer esto con una lista de comprensión, pero no estoy seguro. Debo añadir que, por cierto, tengo que usar Python 2.4.3, por lo que no tengo a mi disposición ninguna característica nueva de gee-whiz 2.6 o 3.x.
Tal vez un capricho involuntario de su ejemplo: myList = [Datos() n == 0, Datos() n = 1.. , ...] donde data.n sería asignado por range() y data.n sería el índice en myList. Por lo tanto, le permite extraer cualquier instancia de Data() simplemente haciendo referencia a myList por un valor de índice. Por supuesto, puede modificar posteriormente myList [0] .n = 5.2 o algo así. Y el ejemplo quizás fue demasiado simplificado. – DevPlayer