Dans cet article, nous verrons comment échanger deux caractères dans une chaîne. Il existe différentes approches qui aideront à comprendre comment échanger deux caractères dans une chaîne.
Approche 1 : Utilisation des méthodes list() et join()
Si nous voulons échanger deux caractères dans une chaîne, nous pouvons utiliser le liste() et rejoindre() méthode.
Exemple:
poids de Kat Timpf
# 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)
Sortir:
hewlo lorld
Explication:
Dans le code ci-dessus, nous définissons d'abord la chaîne d'entrée comme 'Bonjour le monde' . Après cela, nous convertissons la chaîne en une liste de caractères en utilisant le liste() méthode. Ensuite, nous utilisons déballage de tuples pour échanger les caractères à indice 2 et indice 6 dans la liste. Enfin, nous reconvertissons la liste en chaîne en utilisant le rejoindre() méthode et afficher la nouvelle chaîne
Approche 2 : Utilisation du découpage et de la concaténation
Si nous voulons échanger deux caractères dans une chaîne, nous pouvons utiliser le trancher et enchaînement méthode.
Exemple:
# 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)
Sortir:
hewlo lorld
Explication :
Dans cette approche, nous utilisons découpage de chaîne et enchaînement pour échanger les personnages. Nous découpons la chaîne en quatre parties : la sous-chaîne avant le premier caractère à échanger (chaîne[:2]) , le premier caractère échangé (chaîne[6]) , la sous-chaîne entre les caractères échangés (chaîne[3:6]) , le deuxième caractère échangé (chaîne[2]) , et la sous-chaîne après le deuxième caractère échangé (chaîne[7:]) . Après cela, nous concaténons ces sous-chaînes dans l’ordre souhaité pour créer la nouvelle chaîne.
Approche 3 : Utiliser une compréhension de liste
Si nous voulons échanger deux caractères dans une chaîne, nous pouvons utiliser le compréhension de liste méthode.
Exemple:
# 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)
Sortir:
hewlo lorld
Explication:
Dans cette approche, nous créons une liste de caractères en utilisant une compréhension de liste qui parcourt les indices de la chaîne d'entrée. Nous utilisons une expression conditionnelle dans la compréhension de liste pour échanger les caractères à indice 2 et indice 6 .
L'expression chaîne[6 si je == 2 sinon 2] renvoie le caractère à indice 6 si l'index actuel est 2 , et renvoie le caractère à indice 2 si l'index actuel est 6 . Sinon, il renvoie le caractère d'origine à l'index actuel. Après cela, nous reconvertissons la liste de caractères en chaîne en utilisant le méthode join() et affichez la nouvelle chaîne.
Cette approche peut être moins efficace que les approches précédentes car elle crée une nouvelle liste de caractères, mais elle peut être utile dans les situations où la compréhension de liste est plus pratique ou intuitive à utiliser.
Approche 4 : Utilisation du type intégré « bytearray »
Si nous voulons échanger deux caractères dans une chaîne, nous pouvons utiliser le tableau d'octets méthode.
Exemple:
# 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)
Sortir:
hewlo lorld
Explication:
Dans cette approche, nous convertissons d'abord la chaîne d'entrée en un tableau d'octets en utilisant le tableau d'octets() fonction intégrée. Après cela, nous précisons le 'utf-8' encodage pour convertir la chaîne en octet, puis nous échangeons les deux caractères à indice 2 et indice 6 en accédant directement aux éléments correspondants dans le tableau d'octets . Enfin, nous convertissons le tableau d'octets revenir à une chaîne en utilisant le décoder() méthode et affiche la nouvelle chaîne.
Cette approche est efficace car elle utilise un tableau d'octets mutable au lieu de créer une nouvelle chaîne ou liste.