Équivalent de String Builder en Python
-
Utilisez la fonction
join()
- Utilisez la méthode de concaténation de chaînes
-
Utilisez le module
StringIO
Une chaîne est une collection de caractères et est un objet immuable. Nous devons spécifier un nouveau bloc de mémoire pour chaque changement dans une chaîne plutôt que de modifier le bloc déjà existant.
La classe StringBuilder
dans la programmation C# crée des objets chaîne mutables et permet l’allocation dynamique de la mémoire. Nous n’avons pas de tels cals en Python, mais nous pouvons utiliser la concaténation de chaînes pour y parvenir et créer de longs objets chaîne efficaces.
L’idée principale derrière cela est que nous prenons une liste de chaînes et les joignons pour créer de grandes chaînes.
Utilisez la fonction join()
Pour joindre des chaînes à partir d’une liste, nous pouvons utiliser la fonction join()
. La méthode join()
retourne une chaîne après avoir combiné tous les éléments d’un objet itérable. L’extrait de code suivant explique cela.
mylist = ["abcd" for i in range(5)]
mystring = "".join(mylist)
print(mystring)
Production:
abcdabcdabcdabcdabcd
Il existe de nombreuses autres façons de concaténer des chaînes à partir d’une liste, mais la fonction join()
est considérée comme la plus rapide de toutes.
Utilisez la méthode de concaténation de chaînes
Nous pouvons facilement concaténer des chaînes à partir d’une liste en utilisant la boucle for
et l’opérateur +
. L’exemple suivant montre comment.
mylist = ["abcd" for i in range(5)]
mystring = ""
for i in range(len(mylist)):
mystring += mylist[i]
print(mystring)
Production:
abcdabcdabcdabcdabcd
Utilisez le module StringIO
Le module StringIO
permet de lire et d’écrire des chaînes dans la mémoire tampon. Nous créons un objet StringIO
et l’écrivons dans cet objet après avoir parcouru la liste. Nous pouvons imprimer la chaîne requise en utilisant la méthode getvalue()
. Par exemple,
file_str = StringIO()
for i in range(len(mylist)):
file_str.write(mylist[i])
print(file_str.getvalue())
Production:
abcdabcdabcdabcdabcd
Nous pouvons également créer notre propre classe qui peut ajouter des chaînes en utilisant les fonctions du module StringIO
. Par exemple,
from io import StringIO
class StringBuilder:
_file_str = None
def __init__(self):
self._file_str = StringIO()
def Append(self, str):
self._file_str.write(str)
def __str__(self):
return self._file_str.getvalue()
sb = StringBuilder()
sb.Append("Hello ")
sb.Append("World")
print(sb)
Production:
Hello World
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArticle connexe - Python String
- Supprimer les virgules de la chaîne en Python
- Comment vérifier qu'une chaîne est vide de manière pythonique
- Convertir une chaîne en nom de variable en Python
- Comment supprimer les espaces dans une chaîne de caractères en Python
- Comment extraire des nombres d'une chaîne de caractèresen Python
- Comment convertir une chaîne de caractères en datetime en Python