[PYTHON] Rechercher par la valeur de l'instance dans la liste

Le code suivant est efficace, flexible et concis lors de l'exploration linéaire de target_list. next(( {x} for {x} in {target_list} if {condition} ),None) La deuxième variable est la valeur renvoyée si elle n'est pas trouvée. En utilisant next, il est possible de récupérer la première parmi les conditions, ce qui est efficace.

Exemple

class Hoge(object):
    def __init__(self,x,y):
        self.x=x
        self.y=y
hoge_list=[Hoge(10,20),Hoge(10,30),Hoge(5,3),...]
found=next( (hoge for hoge in hoge_list if hoge.x==10 and hoge.y==30) ,None)

référence http://dev.ionous.net/2009/01/python-find-item-in-list.html

Recommended Posts

Rechercher par la valeur de l'instance dans la liste
À la recherche du FizzBuzz le plus rapide en Python
[Python] Trier la liste de pathlib.Path dans l'ordre naturel
Copiez la liste en Python
Découvrez la fraction de la valeur saisie en python
À la recherche du meilleur stéréogramme à points aléatoires (RDS).
Obtenez l'image de "Suzu Hirose" par recherche d'images Google.
○○ Résolution de problèmes dans le département de mathématiques avec optimisation
[python] Récupère la liste des classes définies dans le module
[Golang] Spécifiez un tableau pour la valeur de la carte
[Python] Affiche toutes les combinaisons d'éléments de la liste
Regrouper par éléments consécutifs d'une liste en Python
Liste des nœuds dans les diagrammes
Méthodes disponibles dans la liste
Trier la liste des tuples en Python en spécifiant l'ordre croissant / décroissant de plusieurs clés
J'ai étudié le temps de calcul de "X dans la liste" (recherche linéaire / recherche dichotomique) et "X dans l'ensemble"
Obtenez le nombre d'éléments spécifiques dans la liste python
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Obtenir l'index de la nième valeur la plus grande / la plus petite de la liste en Python
Obtenez le nombre d'occurrences pour chaque élément de la liste
Créer une nouvelle liste en combinant des éléments en double dans la liste
Trouver le diamètre du graphique par recherche de priorité de largeur (mémoire Python)
Extraire la valeur de dict ou list sous forme de chaîne de caractères
Remarques sur la coloration par valeur dans le diagramme de dispersion matplotlib
Google recherche la chaîne sur la dernière ligne du fichier en Python
Obtenir l'index de la nième valeur la plus grande / la plus petite de la liste en Python
Obtenir la valeur d'une clé spécifique jusqu'à l'index spécifié de la liste de dictionnaires en Python
Comment vérifier si le contenu du dictionnaire est le même en Python par valeur de hachage
L'histoire de la participation à AtCoder
Jugement du if par la notation d'inclusion de liste
À propos de la valeur de retour de pthread_mutex_init ()
À propos de la valeur de retour de l'histogramme.
Liste des packages installés par conda
L'histoire du "trou" dans le fichier
À propos de la liste de base des bases de Python
[Python] Afficher uniquement les éléments de la liste côte à côte [Vertical, horizontal]
[Compris dans la figure] Gestion de l'environnement virtuel Python par Pipenv
Utilisez le vecteur appris par word2vec dans la couche Embedding de LSTM
Lire la sortie standard d'un sous-processus ligne par ligne en Python
Apprentissage par ABC173C (recherche complète de bits, copie de liste multidimensionnelle, une dimension de liste multidimensionnelle)
[python] Obtenez le rang des valeurs dans la liste par ordre croissant / décroissant
[Comprendre en 3 minutes] Le début de Linux
L'histoire d'une erreur dans PyOCR
[Linux] Liste des commandes Linux utilisées dans la pratique
Afficher une liste d'alphabets en Python 3
Gymnastique algorithmique 24 Milieu de la liste liée
Implémenter une partie du processus en C ++
Obtenez la liste des colonnes et la liste des données de CASTable
Générez une liste contenant le nombre de jours du mois en cours.
Prenez la somme logique de List en Python (fonction zip)
Changer la liste dans l'instruction for
Python> sys.path> Liste de chaînes indiquant le chemin pour rechercher des modules
[Linux] Une commande pour obtenir une liste des commandes exécutées dans le passé
J'ai mesuré 6 méthodes pour obtenir l'indice de la valeur maximale (valeur minimale) de la liste
Le résultat de l'installation de python sur Anaconda
Je souhaite trier une liste dans l'ordre des autres listes
Lisez le fichier ligne par ligne avec Python
Lisez le fichier ligne par ligne avec Python