tupla de python para listar

Funciones y métodos de Python

Las listas se indexan mediante números . Esto significa que si desea acceder a un elemento de una lista, debe consultar su posición de índice. Si especifica una tupla como valor de índice de lista, encontrará el & ldquo; TypeError: los índices de lista deben ser enteros, no tupla & rdquo; error.

En esta guía, hablamos sobre lo que significa este error y dónde puede encontrarlo. Analizamos un ejemplo de este error para que pueda aprender cómo superarlo en su código.




TypeError: los índices de lista deben ser enteros, no tuplas

Las listas se indexan comenzando por el valor 0. Cada valor subsiguiente tiene un número de índice 1 mayor que el anterior. Considere la siguiente lista :

 coffee_growers = ["Etiopía", "Kenia", "Ruanda", "Brasil"] 

Esta lista tiene cuatro valores. Etiopía tiene un valor de índice 0, Kenia tiene un valor de índice 1 y así sucesivamente. Para acceder a los elementos de esta lista, hacemos referencia a estos valores:

 print (coffee_growers [0]) 

Nuestro código devuelve & ldquo; Etiopía & rdquo ;.

No podemos especificar un valor de tupla para acceder a un elemento de una lista. Esto se debe a que las tuplas no corresponden a ningún valor de índice en una lista.

Los índices & ldquo; TypeError: list deben ser enteros, no tuplas & rdquo; El error es más común en una lista de listas a la que le falta un separador de coma entre cada valor de la lista.




Un escenario de ejemplo

Vamos a crear un programa que rastree la información sobre algunas aves del Reino Unido. Empiece por definir una lista de aves:

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

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

El primer elemento de cada lista es el nombre de un pájaro; el segundo elemento es la familia de un pájaro; el tercer elemento es el estado de conservación de esa ave en el Reino Unido. A continuación, le pedimos a un usuario que agregue un registro a nuestra lista. Hacemos esto usando el método input () :

 name = input (" Ingrese el nombre del ave: ") family = input (" Ingrese la familia del ave: ") conservación_status = input (" Ingrese el estado de conservación del ave: ") 

Ahora que hemos recopilado estos datos, podemos agregar información sobre un ave a nuestra lista de aves. Hacemos esto usando el método append () :

 birds. append ([nombre, familia, estado_conservación]) print (aves) 

Nuestro código imprime nuestra nueva lista de aves después de que el registro que queremos agregar se agregue a la lista. Ejecutemos nuestro código y veamos qué sucede:

 Traceback (última llamada más reciente): Archivo "main.py", línea 2, en & lt; módulo & gt; ["Lechuza común", "Lechuza", "Verde"] TypeError: los índices de lista deben ser enteros o porciones, no tuplas 

Nuestro código devuelve un error. Observe que nuestro error ocurre antes de que se nos pida que insertemos información sobre un pájaro. Si miramos nuestro seguimiento de pila, vemos que el problema está en la línea dos de nuestro código, que está dentro de nuestra declaración de lista.





La solución

El problema con nuestro código es que nos hemos olvidado de incluir comas entre los valores en nuestra lista. Esto causa un problema porque sin comas nuestra lista interpreta el segundo registro como un valor de índice para el primer registro:

 birds = [[ "Lechuza común", "Lechuza", "Verde"] ["Charrán negro", "Gaviotas y charranes", "Verde"]] 

Python lee este código como:

 ["Lechuza común", "Lechuza", "Verde"] ["Charrán negro", "Gaviotas y terns "," Green "] 

La segunda lista no puede ser un valor de índice para la primera lista. Los valores de índice deben ser números. Nuestro código dice que hemos especificado una tupla porque nuestro la segunda lista se reduce, por lo que tiene varios valores.

Para resolver este problema, debemos separar las listas en nuestra lista de listas usando una coma:

 birds = [["Lechuza común", "Lechuza", "Verde"], ["Charrán negro", "Gaviotas y charranes", "Verde"]] 

Intente ejecutar nuestro código con la coma en la lista de aves:

 Ingrese el nombre del ave: Pied Wagtail Ingrese la familia del ave : Bisbitas y lavanderas Introduzca el estado de conservación del ave: Verde [['Lechuza común',' Búho', 'Verde'], [' Charrán negro', 'Gaviotas y charranes',' Verde'], ['Lavandera común ',' Bisitas y lavanderas', 'Verde']] 

Nuestro código se ejecuta correctamente. Primero, se nos pide que insertemos información sobre un pájaro. Nuestro código luego agrega esa información a nuestra lista de aves. Finalmente, nuestro código imprime la lista de aves. Vemos que nuestro nuevo registro se agrega al final de la lista.




Conclusión

Los índices & ldquo; TypeError: list deben ser enteros, no tuplas & rdquo; Se produce un error cuando especifica una tupla como valor de índice al final de una lista. Para resolver este problema, asegúrese de que todas las listas de una lista de listas estén separadas por comas.


¡Ahora está listo para resolver este error común de Python como un desarrollador profesional !



tupla de python para listar: StackOverflow Questions

Tutorials