agregar tupla de Python

Funciones y métodos de Python

Las tuplas se incluyen entre paréntesis. Esto puede resultar confuso porque las llamadas a funciones también utilizan paréntesis. Si usa paréntesis para acceder a elementos de una tupla, o si olvida separar las tuplas con una coma, encontrará un & ldquo; TypeError: & lsquo; tuple & rsquo; el objeto no es invocable & rdquo; error.

En esta guía, hablamos sobre lo que significa este error y sus causas. Analizamos dos ejemplos para ayudarlo a comprender cómo puede resolver este error en su código.




TypeError: & lsquo; tuple & rsquo; el objeto no es invocable

Las tuplas se definen como una lista de valores entre paréntesis:

 coffees = ("Macchiato", "Americano", "Latte") 

El paréntesis distingue una tupla de una lista o un diccionario , que se incluyen en corchetes y llaves, respectivamente.

Se accede a los objetos de tupla de la misma forma que a un elemento de lista. La sintaxis de indexación le permite recuperar un elemento individual de una tupla. No se puede acceder a los elementos de una tupla mediante paréntesis.

Hay dos posibles causas para el & ldquo; TypeError: & lsquo; tuple & rsquo; el objeto no es invocable & rdquo; error:

  • Definir una lista de tuplas sin separar cada tupla con una coma
  • Usar la sintaxis de indexación incorrecta

Analicemos cada causa individualmente.




Causa n. ° 1: Falta una coma

El & ldquo; TypeError: & lsquo; tuple & rsquo; el objeto no es invocable & rdquo; El error a veces es causado por uno de los errores más inocentes que puede cometer: falta una coma.

El 81% de los participantes afirmó que se sentía más seguro acerca de sus perspectivas laborales de tecnología después de asistir a un bootcamp. Asóciese 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.

Defina una tupla que almacene información sobre una lista de cafés vendidos en una cafetería:

 cafés = [("Americano", 72, 1.90), ("Macchiato", 93, 2.10) ("Latte", 127, 2.30)] 

El primer valor en cada tupla es el nombre de un café. El segundo valor es cuántos se vendieron ayer en el café. El tercer valor es el precio del café.


Ahora, imprimamos & ldquo; cafés & rdquo; en la consola para que podamos ver sus valores en nuestro shell de Python:

 print (cafés) 

Nuestro código devuelve:

 Traceback (última llamada más reciente): Archivo" main.py ", línea 3, en & lt; módulo & gt; (" Macchiato ", 93, 2.10) TypeError: el objeto' tuple' es no invocable 

Como esperábamos, se devuelve un error. Esto se debe a que nos hemos olvidado de separar todas las tuplas de nuestra lista de cafés con una coma.

Cuando Python ve un conjunto de paréntesis que sigue a un valor, trata el valor como una función para llamar. En este caso, nuestro programa ve:

 (" Macchiato ", 9 3, 2.10) ("Latte", 127, 2.30) 

Nuestro programa intenta llamar (& ldquo; Macchiato & rdquo ;, 93, 2.10) como una función. Esto no es posible y, por lo tanto, nuestro código devuelve un error.

Para resolver este problema, debemos asegurarnos de que todos los valores en nuestra lista de tuplas estén separados por comas:

 coffees = [("Americano", 72, 1.90), ("Macchiato", 93, 2.10), ("Latte ", 127, 2.30)] print (cafés) 

Hemos agregado una coma después de la tupla que almacena información sobre el café Macchiato. Intentemos ejecutar nuestro código nuevamente:

 [('Americano', 72, 1.9 ), ('Macchiato', 93, 2.1), (' Latte', 127, 2.3)] 

Nuestro código imprime con éxito nuestra lista de tuplas.




Causa # 2: Sintaxis de indexación incorrecta

Aquí, escribimos un programa que almacena información sobre los cafés vendidos en una cafetería. Luego, nuestro programa imprimirá cada pieza de información sobre cada tipo de bebida de café.

Comience por definir una lista de cafés que se almacenan en tuplas:

 cafés = [(" Americano ", 72, 1.90), (" Macchiato ", 93, 2.10), (" Latte ", 127, 2.30) ] 

A continuación, escriba un bucle for que muestre esta información en la consola:

 para c en cafés: print ("Coffee Name:" + str (c (0))) print ("Vendido Ayer: "+ str (c (1))) print (" Precio: $ "+ str (c (2)))) 

Este bucle for debería imprimir cada valor de todos las tuplas en los & ldquo; cafés & rdquo; lista. Convertimos cada valor en una cadena para poder concatenarlos a las etiquetas en nuestras declaraciones print () .

Ejecute nuestro código y vea qué sucede:

 Traceback (última llamada más reciente): Archivo "main.py", línea 8, en & lt; module & gt; print ("Coffee Name:" + c (0)) TypeError: El objeto 'tuple' no es invocable 

Nuestro código devuelve un error.

Este error se debe a que intentamos acceder a cada elemento de nuestra tupla usando llaves. Mientras que las tuplas se definen usando llaves, su contenido son accesibles usando la sintaxis de indexación tradicional.

Para resolver este problema, tenemos que usar corchetes para recuperar valores de nuestras tuplas:

"Career Karma entró en mi vida cuando Lo necesitaba más 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

Ejecutemos nuestro código con esta nueva sintaxis:

 Nombre del café: Americano Sold Yesterday : 72 Precio: $ 1.9 Nombre del café: Macchiato se vendió ayer: 93 Precio: $ 2.1 Nombre del café: Latte se vendió ayer: 127 Precio: $ 2.3 

Nuestro código imprime correctamente información sobre cada café.


Conclusión

El error & ldquo; TypeError: & lsquo; tuple & rsquo; no se puede llamar & rdquo; aparece cuando intenta llamar a una tupla como función. Esto puede suceder si usa la sintaxis incorrecta para acceder a un elemento desde una tupla o si olvida separar dos tuplas con una coma.

Asegúrese de que cuando acceda a elementos de una tupla utilice corchetes. También asegúrese de que todas las tuplas en su El código que aparece en una lista se separa con un coma.

¡Ahora está listo para resolver este error como un Python pro !





agregar tupla de Python: StackOverflow Questions

Tutorials