Ce qui suit est une recommandation pour trois méthodes de décalage circulaire des séquences Python. Elle a une bonne valeur de référence et j'espère qu'elle sera utile à tout le monde.
La première méthode : La particularité est qu'elle est directe et facile à comprendre. L'inconvénient est qu'elle est lente et ne peut réaliser qu'un décalage circulaire vers la gauche.
def demo(lst, k): temp = lst[:] for i in range(k): temp.append(temp.pop(0)) return temp
La deuxième méthode : est caractérisée par une vitesse rapide et un décalage adaptatif en boucle vers la gauche ( k> 0) et le décalage vers la droite (k<0), l'inconvénient est qu'il implique des algorithmes et n'est pas facile à comprendre.
def demo(lst, k): x = lst[:k] x.reverse() y = lst[k:] y.reverse() r = x+y return list(reversed(r))
La méthode ultime la plus pythonique : Utilisez des tranches, simples et faciles à comprendre, les plus rapides, Le décalage circulaire vers la gauche (k>0) et le décalage vers la droite (k<0) peuvent être réalisés en même temps.
def demo(lst, k): return lst[k:] + lst[:k]
Recommandations associées :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!