|
123456789101112131415161718192021 |
- title: Voisinage en Python
-
- J’ai besoin de connaître les articles précédents et suivants [pour le blog](/david/blog/) et maintenant pour ces notes, je suis arrivé à la version suivante en Python qui produit un générateur à partir d’un itérable grâce au mot-clé `yield` :
-
- :::python
- def neighborhood(iterable, first=None, last=None):
- """
- Yield the (previous, current, next) items given an iterable.
-
- You can specify a `first` and/or `last` item for bounds.
- """
- iterator = iter(iterable)
- previous = first
- current = iterator.next() # Throws StopIteration if empty.
- for next in iterator:
- yield (previous, current, next)
- previous = current
- current = next
- yield (previous, current, last)
-
- Il me fallait surtout la possibilité de spécifier un premier/dernier item pour avoir un lien sur [le premier article publié](/david/blog/2012/rappel/) vers les pensées plus anciennes ou [la première note](/david/stream/2015/01/01/) vers les tweets archivés. Il y a [une suite](/david/stream/2015/02/03/) et [une fin](/david/stream/2015/02/12/) à cette série.
|