494 votes

La conversion d'une liste de caractères dans une chaîne

Si j'ai une liste de caractères:

a = ['a','b','c','d']

Comment puis-je le convertir en une chaîne unique?

a = 'abcd'

701voto

Daniel Stutzbach Points 20026

Utiliser l' join méthode de la chaîne vide pour rejoindre toutes les cordes en même temps avec la chaîne vide entre les deux, comme ceci:

>>> a = ['a', 'b', 'c', 'd']
>>> ''.join(a)
'abcd'

49voto

Paulo Scardine Points 17518

J'ai trouvé cette syntaxe un peu bizarre quand j'ai commencé avec Python:

"".join(['a','b','c','d'])

21voto

Kyle Points 11

Si votre interpréteur Python est vieux (1.5.2, par exemple, qui est commune sur certaines anciennes distributions Linux), vous ne pouvez pas avoir des join() disponible comme méthode sur une vieille chaîne de l'objet, et vous aurez besoin d'utiliser la chaîne de module. Exemple:

a = ['a','b','c','d']

try:
    b = ''.join(a)

except AttributeError:
    import string
    b = string.join(a,'')

La chaîne b 'abcd'.

11voto

bigeagle Points 59

Cela peut être le moyen le plus rapide:

>> from array import array
>> a = ['a','b','c','d']
>> array('B', map(ord,a)).tostring()
'abcd'

3voto

Bill Points 1
h = ['a','b','c','d','e','f']
g = ''
for f in h:
    g = g + f

>>> g
'abcdef'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X