Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.md 1.2KB

123456789101112131415161718192021
  1. title: Voisinage en Python
  2. 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` :
  3. :::python
  4. def neighborhood(iterable, first=None, last=None):
  5. """
  6. Yield the (previous, current, next) items given an iterable.
  7. You can specify a `first` and/or `last` item for bounds.
  8. """
  9. iterator = iter(iterable)
  10. previous = first
  11. current = iterator.next() # Throws StopIteration if empty.
  12. for next in iterator:
  13. yield (previous, current, next)
  14. previous = current
  15. current = next
  16. yield (previous, current, last)
  17. 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.