Comment vérifier en Python si l'un des éléments d'une liste est dans une autre liste

Comme le titre l'indique, il peut arriver que vous souhaitiez vérifier si l'un des éléments d'une liste se trouve dans une autre. Dans mon cas, j'en avais besoin pour résoudre le problème CheckiO, mais je pense que j'aurai l'occasion de l'utiliser dans la pratique.

Lorsque j'ai recherché ce qui s'était passé, [Cet article de Stack Overflow](http://stackoverflow.com/questions/10668282/one-liner-to-check-if-at-least-one-item-in-list -exists-in-another-list), je vais donc vous présenter la méthode.

Chose que tu veux faire

Le but est de créer une fonction qui a une liste a et une autre liste b, et retourne True si l'un des éléments de la liste a est dans la liste b et False si ce n'est pas le cas.

Exemple de liste qui renvoie True

a = ['A', 'B']
b = ['B', 'C', 'D']

Vrai parce que 'B' dans la liste a existe dans la liste b

Exemple de liste qui retourne False

a = ['A', 'B']
b = ['C', 'D', 'E']

Faux car ni 'A' et 'B' de la liste a ne sont dans la liste b

Méthode

Méthode 1: utilisez any () et une expression de générateur

def func1(a, b):
    return any(i in b for i in a)

C'est une méthode utilisant any () et une expression de générateur. Utilisez for i in a pour extraire les éléments i un par un, et utilisez ʻi in b` pour vérifier si l'élément i existe dans b. Puisqu'il utilise un générateur, il renvoie True lorsqu'il est connu qu'il existe.

Méthode 2: utiliser la partie commune de l'ensemble

def func2(a, b):
    len(set(a) & set(b)) != 0

C'est une méthode pour convertir a et b en un ensemble et vérifier s'il y a une partie commune entre eux. C'est assez facile à lire.

Méthode 3: utilisez isdisjoint ()

def func3(a, b):
    return not set(a).isdisjoint(b)

Utilisez isdisjoint (), qui est l'opposé de la méthode 2 et renvoie True si elle n'a pas de parties communes. Personnellement, je n'aime pas non plus.

Résumé

Jusqu'à présent, j'ai résumé comment vérifier si l'un des éléments d'une liste se trouve dans une autre.

Je n'ai pas comparé les performances, mais je pense que c'est une bonne idée de choisir celle qui vous convient tout en considérant la lisibilité.

référence

python - one-liner to check if at least one item in list exists in another list? - Stack Overflow

Recommended Posts

Comment vérifier en Python si l'un des éléments d'une liste est dans une autre liste
Comment vérifier la taille de la mémoire d'une variable en Python
Comment vérifier la taille de la mémoire d'un dictionnaire en Python
Vérifiez si la chaîne est un nombre en python
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python
Comment obtenir une liste de fichiers dans le même répertoire avec python
[python] Comment vérifier si la clé existe dans le dictionnaire
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Comment obtenir une liste d'exceptions intégrées pour python
Comment identifier l'élément avec le plus petit nombre de caractères dans une liste Python?
J'ai créé un script pour vérifier si l'anglais est entré dans la position spécifiée du fichier JSON en Python.
Comment vérifier si le contenu du dictionnaire est le même en Python par valeur de hachage
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python (version non bloquante)
[python] Vérifier les éléments de la liste tous, tous
Comment effacer un taple dans une liste (Python)
Copiez la liste en Python
Comment supprimer les éléments en double dans la liste Python 3
[Introduction à Python] Comment trier efficacement le contenu d'une liste avec le tri par liste
Comment bien formater une liste de dictionnaires (ou d'instances) en Python
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
Comment obtenir le nombre de chiffres en Python
Comment écrire un type liste / dictionnaire de Python3
[Python] Affiche toutes les combinaisons d'éléments de la liste
Regrouper par éléments consécutifs d'une liste en Python
[Python] Comment afficher les valeurs de liste dans l'ordre
Comment mentionner un groupe d'utilisateurs avec une notification de mou, comment vérifier l'ID d'un groupe d'utilisateurs
[Python] Comment créer une liste de chaînes de caractères caractère par caractère
Comment mélanger une partie de la liste Python (au hasard.shuffle)
Comment utiliser la méthode __call__ dans la classe Python
[Python] Comment écrire une instruction if en une phrase.
Comment vérifier s'il est dans le type de dictionnaire (Dictionary, Hash) en utilisant tout ou partie
Comment développer dans un environnement virtuel Python [Memo]
Que faire si la barre de progression n'est pas affichée dans tqdm de python
Comment vérifier si une valeur existe dans un type d'énumération
Comment compter le nombre d'occurrences de chaque élément de la liste en Python avec poids
Comment trouver le premier élément qui correspond aux critères de la liste Python
Comment connecter le contenu de la liste dans une chaîne de caractères
Obtenir la valeur d'une clé spécifique jusqu'à l'index spécifié de la liste de dictionnaires en Python
[Python] Comment supprimer des lignes et des colonnes dans une table (liste des options de méthode de dépôt)
Comment compter rapidement la fréquence d'apparition des caractères à partir d'une chaîne de caractères en Python?
Comment connaître la structure interne d'un objet en Python
Comment comparer des listes et récupérer des éléments communs dans une liste
Essayez d'obtenir la liste des fils du bulletin d'information (je n'aime pas) avec Python.
Supprimer un caractère spécifique en Python s'il s'agit du dernier
Comment déterminer qu'une clé croisée a été entrée dans Python3
Comment utiliser l'astérisque (*) en Python. C'est peut-être tout? ..
[Introduction à Python] Comment utiliser l'opérateur in dans l'instruction for?
[TensorFlow 2] Comment vérifier le contenu de Tensor en mode graphique
Comment obtenir les coordonnées de sommet d'une entité dans ArcPy
Comment obtenir une liste excluant les éléments dont l'index est i ...?
Vérifiez si vous pouvez vous connecter à un port TCP en Python
Comment supprimer plusieurs positions (index) spécifiées dans une liste Python
[Golang] Vérifiez si une chaîne de caractères spécifique est incluse dans la chaîne de caractères
[Python] Un programme qui fait pivoter le contenu de la liste vers la gauche
Vérifiez le comportement du destroyer en Python
[Python] Comment convertir une liste bidimensionnelle en liste unidimensionnelle
Afficher une liste d'alphabets en Python 3
Vérifiez si l'URL existe en Python
Comment obtenir stacktrace en python