Maison > Article > développement back-end > Pourquoi \"(\'a\', \'b\') dans [\'b\', \'a\', \'foo\', \'bar\']\" ne fonctionne-t-il pas comme Attendu pour vérifier plusieurs valeurs dans une liste ?
Comment vérifier que plusieurs valeurs appartiennent à une liste
Question :
Je dois déterminer si plusieurs valeurs sont présentes dans une liste, mais que le code suivant produit des résultats inattendus :
'a','b' in ['b', 'a', 'foo', 'bar']
Pourquoi ce code ne fonctionne-t-il pas comme prévu et comment puis-je vérifier efficacement l'appartenance de plusieurs valeurs ?
Réponse :
Python interprète l'extrait de code comme une comparaison de tuples, et non comme le test d'appartenance à la liste souhaitée. Pour tester correctement la présence de plusieurs valeurs, utilisez l'approche suivante :
all(x in container for x in items)
Où conteneur est la liste ou une autre séquence à tester, et items est l'itérable contenant les valeurs à trouver.
Considérations supplémentaires :
Conclusion :
Le all(x in conteneur for x in items) est une solution polyvalente et efficace pour vérifier l’appartenance de plusieurs valeurs dans une liste ou un autre conteneur. En fonction des besoins spécifiques, la conversion en ensembles ou l'utilisation de générateurs peuvent optimiser davantage les 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!