Supposons que je crée une classe simple pour fonctionner de la même manière qu'une structure de type C, pour contenir uniquement des éléments de données. J'essaie de comprendre comment rechercher une liste d'objets pour des objets avec un attribut égal à une certaine valeur. Voici un exemple trivial pour illustrer ce que j'essaie de faire.Recherche d'une liste d'objets en Python
Par exemple:
class Data:
pass
myList = []
for i in range(20):
data = Data()
data.n = i
data.n_squared = i * i
myList.append(data)
Comment pourrais-je aller sur la recherche dans la liste myList pour déterminer si elle contient un élément avec n == 5?
J'ai été googling et recherche les docs Python, et je pense que je pourrais être en mesure de le faire avec une compréhension de la liste, mais je ne suis pas sûr. J'ajouterai que je dois utiliser Python 2.4.3 en passant, donc les nouvelles fonctionnalités de gee-whiz 2.6 ou 3.x ne sont pas disponibles pour moi.
Peut-être une bizarrerie non intentionnelle de votre exemple:. MyList = n [Data() == 0, (Data) n = 1. , ...] où data.n serait assigné par range() et data.n serait l'index dans myList. Vous permettant ainsi de remonter n'importe quelle instance Data() en référençant myList par une valeur d'index. Bien sûr, vous pouvez plus tard modifier myList [0] .n = 5.2 ou quelque chose. Et l'exemple était peut-être trop simplifié. – DevPlayer