J’ai besoin de connaître les articles précédents et suivants pour le 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
:
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é vers les pensées plus anciennes ou les tweets archivés.