Technique de fenêtre coulissante pour itérer sur des paires qui se chevauchent
Lorsque vous travaillez avec des listes en Python, il est souvent nécessaire d'itérer sur des paires d'éléments qui se chevauchent . Une approche courante consiste à utiliser zip et zip[1:] pour créer deux itérateurs qui avancent indépendamment dans la liste. Cependant, il peut exister des moyens plus efficaces ou idiomatiques pour obtenir le même résultat.
Fonction par paire d'Itertools
Python 3.8 introduit la fonction par paire du module itertools. Cette fonction prend un itérable et renvoie un itérateur qui génère des paires d'éléments qui se chevauchent.
Pour les versions de Python inférieures à 3.8, une fonction similaire peut être implémentée à l'aide de tee :
def pairwise(iterable): "s -> (s0, s1), (s1, s2), (s2, s3), ..." a, b = itertools.tee(iterable) next(b, None) return zip(a, b)
Avantages de Pairwise
La fonction pairwise présente plusieurs avantages par rapport au zip traditionnel approche :
Conclusion
Bien que l'approche zip traditionnelle soit fonctionnelle, la fonction par paire fournit un moyen plus efficace et idiomatique d'itérer sur des paires d'éléments qui se chevauchent dans Python. Il est particulièrement utile pour créer des fenêtres glissantes de données à traiter ou à analyser.
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!