461 votos

Convertir una lista de caracteres dentro de una cadena

Si tengo una lista de chars:

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

¿Cómo puedo convertir esto en una sola cadena?

a = 'abcd'

646voto

Daniel Stutzbach Puntos 20026

El uso de la join método de la cadena vacía para unirse a las cuerdas junto con la cadena vacía en el medio, así:

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

44voto

Paulo Scardine Puntos 17518

He encontrado esta sintaxis un poco raro cuando yo estaba empezando con Python:

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

17voto

Kyle Puntos 11

Si su intérprete de Python es viejo (1.5.2, por ejemplo, que es común en algunas versiones de las distribuciones de Linux), no puede tener join() está disponible como un método sobre cualquier objeto string, y que en lugar se necesita para utilizar el módulo string. Ejemplo:

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

try:
    b = ''.join(a)

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

La cadena b 'abcd'.

10voto

bigeagle Puntos 59

Esto puede ser la manera más rápida:

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

4voto

cce Puntos 11

La reducción de la función también funciona

import operator
h=['a','b','c','d']
reduce(operator.add, h)
'abcd'

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X