Das Folgende ist eine Empfehlung für drei Methoden zur zirkulären Verschiebung von Python-Sequenzen. Sie hat einen guten Referenzwert und ich hoffe, dass sie für alle hilfreich ist.
Die erste Methode: Das Merkmal ist, dass sie direkt und leicht zu verstehen ist. Der Nachteil ist, dass sie langsam ist und nur eine kreisförmige Linksverschiebung erreichen kann.
def demo(lst, k): temp = lst[:] for i in range(k): temp.append(temp.pop(0)) return temp
Die zweite Methode: zeichnet sich durch schnelle Geschwindigkeit und adaptive Schleifenverschiebung nach links aus ( k> 0) und Rechtsverschiebung (k<0), der Nachteil besteht darin, dass es sich um Algorithmen handelt und nicht leicht zu verstehen ist.
def demo(lst, k): x = lst[:k] x.reverse() y = lst[k:] y.reverse() r = x+y return list(reversed(r))
Die pythonischste ultimative Methode: Verwenden Sie Slices, einfach und leicht zu verstehen, am schnellsten, Eine zirkuläre Linksverschiebung (k>0) und eine Rechtsverschiebung (k<0) können gleichzeitig realisiert werden.
def demo(lst, k): return lst[k:] + lst[:k]
Verwandte Empfehlungen:
Python-Methode zum Generieren von Zufallszahlen in jedem Bereich und mit beliebiger Genauigkeit
Das obige ist der detaillierte Inhalt von3 Möglichkeiten, Python-Sequenzen zirkulär zu verschieben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!