La bonne réponse est celle de Tiger-222.
Néanmoins, si le nombre d'objets à inverser est grand ou variable, l'énumération est peu pratique, d'où la réponse de Simpom.
Voici une variante que j'aime bien : elle permet d'implémenter le comportement généralisé de ta fonction hypothétique intervert
.
>>> l = [1, 2, 3, 4, 5]
>>> l[2:5] = reversed(l[2:5])
>>> l
[1, 2, 5, 4, 3]
La fonction apply_to_slice
se déduit :
def apply_to_slice(it, start, end, function):
it[start:end] = function(it[start:end])
return it # for convenience
def intervert(it, start, end):
return apply_to_slice(it, start, end, reversed)