Python Joindre Liste

python join list signifie concaténer une liste de chaînes avec un délimiteur spécifié pour former une chaîne. Parfois, c’est utile lorsque vous devez convertir une liste en chaîne. Par exemple, convertir une liste d’alphabets en une chaîne séparée par des virgules pour enregistrer dans un fichier.

Python Join List

Nous pouvons utiliser la fonction join() de la chaîne python pour joindre une liste de chaînes. Cette fonction prend un itérable en argument et la Liste est un itérable, donc nous pouvons l’utiliser avec une Liste. De plus, la liste devrait contenir des chaînes, si vous essayez de joindre une liste d’entiers, vous obtiendrez un message d’erreur comme TypeError: élément de séquence 0: instance str attendue, int trouvée. Regardons un exemple court pour joindre une liste en python et créer une chaîne.

vowels = ["a", "e", "i", "o", "u"]

vowelsCSV = ",".join(vowels)

print("Vowels are = ", vowelsCSV)

Lorsque nous exécutons le programme ci-dessus, il produira la sortie suivante.

Vowels are =  a,e,i,o,u

Python joindre deux chaînes

Nous pouvons également utiliser la fonction join() pour joindre deux chaînes.

message = "Hello ".join("World")

print(message) #prints 'Hello World'

Pourquoi la fonction join() est-elle dans la classe String et non dans List ?

Une question qui se pose chez de nombreux développeurs Python est pourquoi la fonction join() fait partie de la classe String et non de la classe List. La syntaxe ci-dessous ne serait-elle pas plus facile à mémoriser et à utiliser ?

vowelsCSV = vowels.join(",")

Il existe une question populaire sur StackOverflow à ce sujet. Voici les points les plus importants issus des discussions qui ont du sens pour moi.

La principale raison est que la fonction join() peut être utilisée avec n’importe quel itérable et le résultat est toujours une chaîne de caractères. Il est donc logique d’avoir cette fonction dans l’API String plutôt que de l’avoir dans toutes les classes itérables.

Jointure d’une liste de plusieurs types de données

Examinons un programme où nous essaierons de joindre des éléments de liste ayant plusieurs types de données.

names = ['Java', 'Python', 1]
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

Regardons la sortie pour ce programme : Ceci n’était qu’une démonstration qu’une liste qui contient divers types de données ne peut pas être combinée en une seule chaîne avec la fonction join(). La liste doit contenir uniquement des valeurs de type chaîne.

Séparer la chaîne en utilisant la fonction join

Nous pouvons utiliser la fonction join() pour diviser une chaîne avec un délimiteur spécifié également.

names = 'Python'
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

Cela montre que lorsque la chaîne est passée en argument à la fonction join(), elle la divise par caractère et avec le délimiteur spécifié.

Utilisation de la fonction split()

Outre la division avec la fonction join(), la fonction split() peut également être utilisée pour diviser une chaîne, fonctionnant presque de la même manière que la fonction join(). Examinons un extrait de code :

names = ['Java', 'Python', 'Go']
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

split = single_str.split(delimiter)
print('List: {0}'.format(split))

Regardons la sortie pour ce programme : Nous avons utilisé le même délimiteur pour diviser à nouveau la chaîne afin de retrouver la liste d’origine.

Ne se divise que n fois

La fonction split() que nous avons démontrée dans le dernier exemple prend également un deuxième argument facultatif qui indique le nombre de fois que l’opération de division doit être effectuée. Voici un programme exemple pour démontrer son utilisation :

names = ['Java', 'Python', 'Go']
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

split = single_str.split(delimiter, 1)
print('List: {0}'.format(split))

Voyons la sortie de ce programme : Cette fois, l’opération de division a été effectuée une seule fois car nous l’avons spécifiée dans le paramètre de la fonction split(). C’est tout pour joindre une liste pour créer une chaîne en python et utiliser la fonction split() pour obtenir à nouveau la liste d’origine.

Source:
https://www.digitalocean.com/community/tutorials/python-join-list