"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment vérifier si les listes partagent des éléments en Python ?

Comment vérifier si les listes partagent des éléments en Python ?

Publié le 2024-11-08
Parcourir:752

How Do I Check if Lists Share Any Items in Python?

Tester si les listes partagent des éléments en Python

Introduction

Lorsque vous travaillez avec plusieurs listes en Python, il est souvent nécessaire de déterminer si des éléments se chevauchent entre ces listes. Cela constitue une opération fondamentale pour diverses tâches d'analyse et de manipulation de données.

Réponse courte

L'approche recommandée pour tester le chevauchement de listes en Python consiste à utiliser not set(a).isdisjoint(b ) expression. Il offre une méthode généralement efficace et concise pour cette tâche.

Analyse détaillée

Méthode 1 : Définir l'intersection

bool(set(a) & set(b))
  • Convertit les deux listes en ensembles, puis vérifie leur intersection.
  • Relativement lent, en particulier pour les grandes listes, car la conversion en ensembles consomme de la mémoire supplémentaire et time.

Méthode 2 : Expression génératrice avec l'opérateur In

any(i in a for i in b)
  • Parcourt une liste et vérifie l'appartenance de chaque élément à l'autre liste.
  • Rapide lorsque les éléments sont proches du début de la liste mais inefficace pour les listes sans éléments partagés ou lorsque les éléments partagés sont à la fin.

Méthode 3 : hybride (itération et appartenance à un ensemble)

a = set(a); any(i in a for i in b)
  • Convertit une liste en un ensemble et parcourt l'autre liste, vérifiant l'appartenance à l'ensemble.
  • Généralement plus lent que les autres méthodes.

Méthode 4 : Méthode isdisjointe des ensembles

not set(a).isdisjoint(b)
  • Utilise la méthode isdisjoint() des ensembles pour déterminer si deux ensembles ont des éléments communs.
  • Rapide et efficace pour les listes partagées et disjointes, en particulier lorsque les listes sont de tailles différentes.

Comparaison des performances

Les tests de performances révèlent que not set(a).isdisjoint(b) excelle dans la plupart des cas, en particulier pour les grandes listes ou les situations où les éléments partagés sont clairsemés.

Conclusion

Pour tester le chevauchement de listes en Python, envisagez d'utiliser l'expression not set(a).isdisjoint(b) car elle fournit une solution fiable, efficace et polyvalente pour différentes tailles de liste et scénarios.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729382836. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3