J'ai besoin de charger une liste de base de données en ligne d'objets en mémoire, puis de saisir l'un de ces lignes par son ID unique. Est-il propre, pythonic moyen de trouver un seul objet à partir d'une liste par une valeur d'attribut? Ou dois-je simplement en boucle et de les comparer?
source d'informationauteur Yarin | 2012-02-01
Oui, vous boucle et comparer:
Et vous obtenez une liste qui peut être testé pour voir combien vous avez trouvé.
Si vous allez faire beaucoup cela, pensez à utiliser un dictionnaire, où la clé est l'attribut que vous êtes intéressé à.
Si vous faites cela, il ne donne que le tout premier match, au lieu de comparer l'ensemble de la liste: trouver la première séquence de l'élément qui correspond à un critère.
Si vous faites quelque chose comme cela, vous n'avez pas à intercepter l'exception, mais obtenir
None
à la place:Vous pouvez filtre:
Reportez-vous à kindall de réponse pour des conseils sur l'efficacité. Si vous ne le faites pas beaucoup, ce n'est pas de la bonne façon.