HOWTO · Python

TypeError: solo se puede concatenar tupla(no int) a tupla

Tuple es una de las cuatro colecciones en Python y es inmutable a diferencia de las listas o matrices. Los objetos en una tupla están separados por comas.

En esta página

En el lenguaje de programación Python, tuple es una estructura de datos que se puede utilizar para almacenar una colección de objetos separados por una coma ,. La tupla es inmutable, lo que significa que no puede cambiar sus objetos.

Para crear una tupla, necesita un nombre para la tupla y el paréntesis regular ( ) y agregar un objeto separado por una coma ,.

Sintaxis de una tupla:

my_tpl = (1, 2, 3, 4, 5, 6)
print(type(my_tpl))  # print the type of my_tpl
print(my_tpl)

Producción :

<class 'tuple'>
(1, 2, 3, 4, 5, 6)

Crear una tupla con un solo objeto

Ya hemos entendido en el programa anterior sobre la creación de tuplas, pero esa era una tupla con múltiples objetos. La creación de una tupla puede ser un poco diferente de las demás.

Ejemplo de código:

my_tpl = 1
print(type(my_tpl))
print(my_tpl)

Producción :

<class 'int'>
1

Esto pertenece a la clase int, no a la tupla, y la razón es que, a diferencia de int y tupla, usamos una coma , después del objeto de una tupla.

Ejemplo de código:

my_tpl = (1,)
print(type(my_tpl))
print(my_tpl)

Producción :

<class 'tuple'>
(1,)

Hemos definido una tupla con un solo objeto en ella.

Solucione el Error de tipo: solo se puede concatenar tupla (no "Int") a tupla en Python

Este error común ocurre cuando intenta concatenar el valor o los valores de cualquier tipo de datos que no sea una tupla. Agregar un número entero a una tupla puede causar este error.

Veamos por qué ocurre este error y cómo solucionarlo.

Ejemplo de código:

nums_tpl = (1, 2, 3, 4, 5)  # Tuple
num_int = 6  # Integer

# Concatinating a tuple and an integer
concatinate = nums_tpl + num_int
print(concatinate)

Producción :

TypeError: can only concatenate tuple (not "int") to tuple

Python no permite concatenar un número entero en una tupla, por lo que se produce el TypeError.

Para solucionar el Error de tipo: solo se puede concatenar tupla (no "int") a tupla, podemos usar una tupla en lugar de un entero porque podemos concatenar dos tuplas pero no una tupla con ningún otro tipo de datos.

Ejemplo de código:

nums_tpl = (1, 2, 3, 4, 5)  # Tuple
num_int = (6,)  # Tuple

# Concatinating two tuples
concatinate = nums_tpl + num_int
print(concatinate)

Producción :

(1, 2, 3, 4, 5, 6)

Como puedes ver, el TypeError se soluciona concatenando dos tuplas en lugar de una tupla y un entero.