Python String join ()

El método de cadena join () devuelve una cadena uniendo todos los elementos de un iterable, separados por un separador de cadena.

El join()método proporciona una forma flexible de crear cadenas a partir de objetos iterables. Une cada elemento de un iterable (como lista, cadena y tupla) mediante un separador de cadena (la cadena en la que join()se llama al método) y devuelve la cadena concatenada.

La sintaxis del join()método es:

 string.join (iterable)

Parámetros para el método join ()

El join()método toma un iterable (objetos capaces de devolver sus miembros uno a la vez) como parámetro.

Algunos de los ejemplos de iterables son:

  • Tipos de datos nativos: lista, tupla, cadena, diccionario y conjunto.
  • Objetos de archivo y objetos que defina con un método __iter__()o __getitem()__.

Valor de retorno del método join ()

El join()método devuelve una cadena creada uniendo los elementos de un iterable mediante un separador de cadenas.

Si el iterable contiene valores que no son cadenas, genera una TypeErrorexcepción.

Ejemplo 1: funcionamiento del método join ()

 # .join() with lists numList = ('1', '2', '3', '4') separator = ', ' print(separator.join(numList)) # .join() with tuples numTuple = ('1', '2', '3', '4') print(separator.join(numTuple)) s1 = 'abc' s2 = '123' # each element of s2 is separated by s1 # '1'+ 'abc'+ '2'+ 'abc'+ '3' print('s1.join(s2):', s1.join(s2)) # each element of s1 is separated by s2 # 'a'+ '123'+ 'b'+ '123'+ 'b' print('s2.join(s1):', s2.join(s1))

Salida

 1, 2, 3, 4 1, 2, 3, 4 s1.join (s2): 1abc2abc3 s2.join (s1): a123b123c

Ejemplo 2: el método join () con conjuntos

 # .join() with sets test = ('2', '1', '3') s = ', ' print(s.join(test)) test = ('Python', 'Java', 'Ruby') s = '->->' print(s.join(test))

Salida

 2, 3, 1 Python -> -> Ruby -> -> Java

Nota: un conjunto es una colección desordenada de elementos, por lo que puede obtener una salida diferente (el orden es aleatorio).

Ejemplo 3: el método join () con diccionarios

 # .join() with dictionaries test = ('mat': 1, 'that': 2) s = '->' # joins the keys only print(s.join(test)) test = (1: 'mat', 2: 'that') s = ', ' # this gives error since key isn't string print(s.join(test))

Salida

 mat-> that Traceback (última llamada más reciente): Archivo "…", línea 12, en TypeError: elemento de secuencia 0: instancia de str esperada, int encontrado

El join()método intenta unir las claves (no los valores) del diccionario con el separador de cadenas.

Nota : Si la clave de la cadena no es una cadena, genera una TypeErrorexcepción.

Articulos interesantes...