Test de l'appartenance de plusieurs valeurs dans une liste Python
En Python, tester l'appartenance de plusieurs valeurs dans une liste à l'aide du 'in' l’opérateur peut conduire à des résultats inattendus. Prenons l'exemple suivant :
'a','b' in ['b', 'a', 'foo', 'bar'] ('a', True)
Le résultat 'a', True indique que 'a' est présent dans la liste, mais il ne précise pas si 'b' était également présent. En effet, Python traite l'expression « in » comme un tuple, ce qui donne le résultat affiché ci-dessus.
Pour vérifier avec précision si « a » et « b » sont présents dans la liste, vous pouvez utiliser ce qui suit approche :
all(x in ['b', 'a', 'foo', 'bar'] for x in ['a', 'b']) True
Cette expression garantit que chaque élément de la liste ['a', 'b'] est contenu dans le conteneur ['b', 'a', 'foo', 'bar' ]. Si l'un des éléments n'est pas présent, l'expression retournera False.
Options alternatives
En plus de la fonction « tout », il existe d'autres méthodes pour effectuer cette vérification. , mais ils ne sont peut-être pas aussi polyvalents que l'approche « tout ».
Considérations relatives à la vitesse
Dans certaines situations, le test de sous-ensemble peut être plus rapide que le test « tout » approche, en particulier lorsque le conteneur et les éléments de test sont petits. Cependant, la différence de vitesse globale n'est pas suffisamment importante pour justifier une utilisation massive du test de sous-ensemble.
Il est important de noter que le comportement de « in » dépend du type d'argument de gauche. Par exemple, utiliser « in » avec une chaîne concatènera les valeurs plutôt que de tester l'appartenance.
Le choix de la meilleure approche pour tester l'appartenance de plusieurs valeurs dans une liste dépend des exigences spécifiques et des types de données impliqués. et considérations de performances.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!