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.