Maison > développement back-end > Tutoriel Python > 3 façons de décaler circulairement des séquences Python

3 façons de décaler circulairement des séquences Python

不言
Libérer: 2018-04-09 15:03:13
original
4697 Les gens l'ont consulté

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
Copier après la connexion

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))
Copier après la connexion

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]
Copier après la connexion

Recommandations associées :

Méthode Python pour générer des nombres aléatoires dans n'importe quelle plage et avec n'importe quelle précision

La programmation réseau Python utilise select pour implémenter la fonction de communication asynchrone full-duplex du socket

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal