lista de unirse a Python

El método join () le permite transformar un objeto iterable como una lista en una cadena. Es lo opuesto al método split () . Si intenta utilizar este método para unir un valor que no es un objeto iterable en una lista, encontrará el " TypeError: solo se puede unir un iterable " error.

En esta guìa, vamos a hablar sobre lo que significa este error y còmo funciona. Veremos un ejemplo de esta lista para ayudarlo a aprender còmo funciona.

TypeError: solo se puede unir a un iterable

Echemos un vistazo a nuestro mensaje de error: TypeError: solo puede unirse a un iterable.

TypeErrors se generan cuando intenta realizar una operaciòn en un valor cuyo tipo de datos no admite esa operaciòn. El mensaje después del tipo de error nos dice que estamos intentando unir un valor que no es un objeto iterable.

El método join () solo te permite unir iterables como un lista o una tupla . Esto se debe a que el método de uniòn atraviesa todos los elementos de una secuencia y los agrega a una cadena. Si un valor no es iterable, este proceso no puede ocurrir.

Este error es com√∫n cuando intenta unir un valor que es igual a Ninguno.

Un escenario de ejemplo < / h2>

Creemos un programa para una queserìa que pide una lista de quesos. Le preguntaremos al usuario si quiere que los quesos se ordenen en orden ascendente o descendente. Para empezar, definamos una lista de quesos:

quesos = ["Parmesano", "Cheddar inglés", "Feta", "Roquefort", "Brie"] < br>

El 81% de los participantes afirmaron que se sentìan más seguros acerca de sus perspectivas laborales después de asistir a un bootcamp. Asigne a un bootcamp hoy mismo.

El graduado promedio de un bootcamp pasò menos de seis meses en la transiciòn profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

A continuaciòn, vamos para pedirle al usuario el orden en el que quiere que aparezca la lista de quesos:

order = input ("¿Quieres que los quesos aparezcan en orden ascendente (ASC) o descendente (DESC)?")

Vamos a utilizar una " if " statement para traducir la respuesta que inserta un usuario en un booleano:

Si un usuario inserta el valor " ASC & rdquo ;, la lista se ordenará en orden ascendente. De lo contrario, la lista se ordenará en orden inverso.

A continuaciòn, usaremos el método sort () para ordenar nuestra lista:

cheeses = cheeses.sort (reverse = reverse)

Nos referimos a la variable " reverse " que definimos anteriormente. Esto nos permite decirle al método sort () si r queremos que nuestros quesos se clasifiquen en orden ascendente o descendente.

Ahora que hemos clasificado nuestros quesos, los uniremos en una cadena y los imprimiremos en la consola: < br>

El método join () une todos los quesos de los " quesos " lista en una cadena. Cada queso estará separado por un espacio y una coma. Incluimos estos caracteres entre comillas en nuestro còdigo antes de llamar al método join ().

Ejecutemos nuestro programa:

¿Quieres que los quesos aparecen en orden ascendente (ASC) o descendente (DESC)? ASC

Nuestro còdigo devuelve un error.

La soluciòn

Nuestro El còdigo pregunta al usuario el orden en el que debe aparecer la lista de quesos. Nuestro còdigo deja de funcionar en la lìnea 12. Aquì es donde unimos nuestra lista de quesos en una cadena.

El problema es que el valor de " quesos " se vuelve igual a Ninguno en nuestro còdigo. Esto se debe a que hemos asignado el valor del tipo ( ) a una nueva variable.

El método sort () ordena una lista en el lugar. Altera una lista existente. El método sort () no devuelve una nueva lista. Esto significa que cuando asignamos el valor de cheeses.sort (reverse = reverse) a una variable , el valor de esa variable se convierte en Ninguno.

Para resolver este problema, tenemos que eliminar la declaraciòn de variable en la lìnea de còdigo donde clasificamos nuestros quesos:

cheeses.sort (reverse = reverse)

Este còdigo ordenará nuestra lista de quesos. El valor de "quesos" será igual al de la lista ordenada en lugar de Ninguno. Ejecutemos nuestro còdigo y mira qué sucede:

"Career Karma entrò en mi vida cuando más lo necesitaba y rápidamente me ayudò a combinar con un bootcamp. ¬°Dos meses después de graduarme, encontré el trabajo de mis sue√±os que se alineaba con mis valores y metas en la vida! "

Venus, ingeniero de software en Rockbot

¿Desea que los quesos aparezcan en orden ascendente (ASC) o descendente (DESC)? ASC

Sus quesos clasificados son: Brie, Cheddar inglés, Feta, Parmesano, Roquefort

Nuestro còdigo devuelve correctamente una lista ordenada de quesos. Intentemos clasificar nuestros quesos en orden descendente:

¿Quiere el ¿Los quesos aparecerán en orden ascendente (ASC) o descendente (DESC)? DESC

Sus quesos clasificados son: roquefort, parmesano, feta, cheddar inglés, brie

Nuestro còdigo es capaz de ordenar nuestras listas tanto en orden ascendente como descendente.

Conclusiòn

El error " TypeError: solo puede unirse a un iterable " se produce cuando intenta unir un valor que no sea iterable a una cadena.

Esto puede suceder si asigna el valor de una lista incorporada método como sort () a una nueva variable e intente unir el resultado de esa operaciòn a una cadena. Puede corregir este error asegurándose de que el valor que intenta unir en una cadena sea iterable, como una lista o una tupla.

< / a>

¬°Ahora estás listo para resolver este error en tu còdigo como un profesional!