logo

Wie tausche ich zwei Zeichen in einer Zeichenfolge in Python aus?

In diesem Artikel besprechen wir, wie man zwei Zeichen in einer Zeichenfolge vertauscht. Es gibt verschiedene Ansätze, die helfen zu verstehen, wie wir zwei Zeichen in einer Zeichenfolge vertauschen können.

Ansatz 1: Verwendung der Methoden list() und join()

Wenn wir zwei Zeichen in einer Zeichenfolge vertauschen möchten, können wir das verwenden Liste() Und verbinden() Methode.

Beispiel:

Kostenlose Linux-IPconfig
 # Input string string = 'hello world' # Convert string to list of characters char_list = list(string) # Swap characters at index 2 and index 6 char_list[2], char_list[6] = char_list[6], char_list[2] # Convert list back to string new_string = ''.join(char_list) # Output new string print(new_string) 

Ausgabe:

 hewlo lorld 

Erläuterung:

Im obigen Code definieren wir zunächst die Eingabezeichenfolge als 'Hallo Welt' . Danach konvertieren wir die Zeichenfolge mithilfe von in eine Liste von Zeichen Liste() Methode. Als nächstes verwenden wir Tupel-Entpacken um die Zeichen zu tauschen Index 2 Und Index 6 In der Liste. Schließlich konvertieren wir die Liste mithilfe von wieder in einen String verbinden() Methode und geben Sie die neue Zeichenfolge aus

Ansatz 2: Verwendung von Slicing und Verkettung

Wenn wir zwei Zeichen in einer Zeichenfolge vertauschen möchten, können wir das verwenden schneiden Und Verkettung Methode.

Beispiel:

 # Input string string = 'hello world' # Swap characters at index 2 and index 6 new_string = string[:2] + string[6] + string[3:6] + string[2] + string[7:] # Output new string print(new_string) 

Ausgabe:

 hewlo lorld 

Erklärung:

Bei diesem Ansatz verwenden wir Saitenschneiden Und Verkettung um die Charaktere auszutauschen. Wir schneiden die Zeichenfolge in vier Teile: die Teilzeichenfolge vor dem ersten Zeichen, das ausgetauscht werden soll (Zeichenfolge[:2]) , das erste ausgetauschte Zeichen (Zeichenfolge[6]) , die Teilzeichenfolge zwischen den vertauschten Zeichen (Zeichenfolge[3:6]) , das zweite ausgetauschte Zeichen (Zeichenfolge[2]) und die Teilzeichenfolge nach dem zweiten ausgetauschten Zeichen (string[7:]) . Anschließend verketten wir diese Teilzeichenfolgen in der gewünschten Reihenfolge, um die neue Zeichenfolge zu erstellen.

Ansatz 3: Verwendung eines Listenverständnisses

Wenn wir zwei Zeichen in einer Zeichenfolge vertauschen möchten, können wir das verwenden Listenverständnis Methode.

Beispiel:

 # Input string string = 'hello world' # Swap characters at index 2 and index 6 char_list = [string[i] if i not in (2, 6) else string[6 if i == 2 else 2] for i in range(len(string))] # Convert list back to string new_string = ''.join(char_list) # Output new string print(new_string) 

Ausgabe:

 hewlo lorld 

Erläuterung:

Bei diesem Ansatz erstellen wir eine Liste von Zeichen mithilfe eines Listenverständnisses, das die Indizes der Eingabezeichenfolge durchläuft. Wir verwenden einen bedingten Ausdruck innerhalb des Listenverständnisses, um die Zeichen zu vertauschen Index 2 Und Index 6 .

Der Ausdruck string[6 wenn i == 2 sonst 2] gibt das Zeichen zurück Index 6 wenn der aktuelle Index ist 2 , und gibt das Zeichen bei zurück Index 2 wenn der aktuelle Index ist 6 . Andernfalls wird das ursprüngliche Zeichen am aktuellen Index zurückgegeben. Danach konvertieren wir die Liste der Zeichen mithilfe von wieder in eine Zeichenfolge join()-Methode und die neue Zeichenfolge ausgeben.

Dieser Ansatz ist möglicherweise weniger effizient als die vorherigen Ansätze, da er eine neue Zeichenliste erstellt. Er kann jedoch in Situationen nützlich sein, in denen ein Listenverständnis bequemer oder intuitiver zu verwenden ist.

Ansatz 4: Verwendung des integrierten Typs „bytearray“.

Wenn wir zwei Zeichen in einer Zeichenfolge vertauschen möchten, können wir das verwenden Bytearray Methode.

Beispiel:

 # Input string string = 'hello world' # Convert string to bytearray byte_array = bytearray(string, 'utf-8') # Swap characters at index 2 and index 6 byte_array[2], byte_array[6] = byte_array[6], byte_array[2] # Convert bytearray back to string new_string = byte_array.decode() # Output new string print(new_string) 

Ausgabe:

 hewlo lorld 

Erläuterung:

Bei diesem Ansatz konvertieren wir zunächst die Eingabezeichenfolge in a Bytearray Verwendung der bytearray() eingebaute Funktion. Danach spezifizieren wir die 'utf-8' Codierung, um die Zeichenfolge in Byte umzuwandeln, und dann tauschen wir die beiden Zeichen aus Index 2 Und Index 6 durch direkten Zugriff auf die entsprechenden Elemente im Bytearray . Abschließend konvertieren wir die Bytearray zurück zu einer Zeichenfolge mit dem dekodieren() Methode und geben Sie die neue Zeichenfolge aus.

Dieser Ansatz ist effizient, da er a verwendet veränderliches Bytearray anstatt eine neue Zeichenfolge oder Liste zu erstellen.