logo

Tuplas en Python

Python Tuple es una colección de objetos separados por comas. En cierto modo, una tupla es similar a una lista de Python en términos de indexación, objetos anidados y repetición, pero la principal diferencia entre ambas es que la tupla de Python es inmutable, a diferencia de la lista de Python, que es mutable.

Creando tuplas de Python

Hay varias formas de crear una tupla en Pitón . Son los siguientes:



  • Usando paréntesis redondos
  • Con un artículo
  • Constructor de tuplas

Crear tuplas usando corchetes redondos ()

Para crear una tupla usaremos operadores ().

Python3








var>=> (>'Geeks'>,>'for'>,>'Geeks'>)> print>(var)>

>

>

Producción:

('Geeks', 'for', 'Geeks')>

Crear una tupla con un elemento

Python 3.11 nos proporciona otra forma de crear una tupla.

Python3




values :>tuple>[>int> |>str>, ...]>=> (>1>,>2>,>4>,>'Geek'>)> print>(values)>

>

>

Producción:

Aquí, en el fragmento anterior, estamos considerando una variable llamada valores que contiene una tupla que consta de int o str, el '...' significa que la tupla contendrá más de un int o str.

(1, 2, 4, 'Geek')>

Nota: En caso de que estés generando una tupla con un solo elemento, asegúrate de agregar una coma después del elemento. Veamos un ejemplo de lo mismo.

Python3




mytuple>=> (>'Geeks'>,)> print>(>type>(mytuple))> #NOT a tuple> mytuple>=> (>'Geeks'>)> print>(>type>(mytuple))>

>

>

Producción:

>

Constructor de tuplas en Python

Para crear una tupla con un constructor de tuplas, pasaremos los elementos como sus parámetros.

Python3




tuple_constructor>=> tuple>((>'dsa'>,>'developement'>,>'deep learning'>))> print>(tuple_constructor)>

>

>

Producción :

('dsa', 'developement', 'deep learning')>

¿Qué es inmutable en tuplas?

Las tuplas en Python son similares a Listas de Python pero no del todo. Las tuplas son inmutables, ordenadas y permiten valores duplicados. Algunas características de las tuplas en Python.

  • Podemos encontrar elementos en una tupla ya que encontrar cualquier elemento no realiza cambios en la tupla.
  • No se pueden agregar elementos a una tupla una vez creada.
  • Las tuplas no se pueden agregar ni ampliar.
  • No podemos eliminar elementos de una tupla una vez creada.

Veamos esto con un ejemplo.

Python3




mytuple>=> (>1>,>2>,>3>,>4>,>5>)> # tuples are indexed> print>(mytuple[>1>])> print>(mytuple[>4>])> # tuples contain duplicate elements> mytuple>=> (>1>,>2>,>3>,>4>,>2>,>3>)> print>(mytuple)> # adding an element> mytuple[>1>]>=> 100> print>(mytuple)>

>

>

Producción:

Las tuplas de Python están ordenadas y podemos acceder a sus elementos utilizando sus valores de índice. También son inmutables, es decir, no podemos agregar, eliminar y cambiar los elementos una vez declarados en la tupla, por lo que cuando intentamos agregar un elemento en el índice 1, generó el error.

2 5 (1, 2, 3, 4, 2, 3) Traceback (most recent call last): File 'e0eaddff843a8695575daec34506f126.py', line 11, in tuple1[1] = 100 TypeError: 'tuple' object does not support item assignment>

Accediendo a valores en tuplas de Python

Las tuplas en Python proporcionan dos formas de acceder a los elementos de una tupla.

  • Usando un índice positivo
  • Usando un índice negativo

Python accede a tupla usando un índice positivo

Usando corchetes podemos obtener los valores de tuplas en Python.

Python3




var>=> (>'Geeks'>,>'for'>,>'Geeks'>)> print>(>'Value in Var[0] = '>, var[>0>])> print>(>'Value in Var[1] = '>, var[>1>])> print>(>'Value in Var[2] = '>, var[>2>])>

>

>

Producción:

Value in Var[0] = Geeks Value in Var[1] = for Value in Var[2] = Geeks>

Acceda a Tuple usando un índice negativo

En los métodos anteriores, usamos el índice positivo para acceder al valor en Python, y aquí usaremos el índice negativo dentro de [].

Python3




var>=> (>1>,>2>,>3>)> print>(>'Value in Var[-1] = '>, var[>->1>])> print>(>'Value in Var[-2] = '>, var[>->2>])> print>(>'Value in Var[-3] = '>, var[>->3>])>

>

>

Producción:

Value in Var[-1] = 3 Value in Var[-2] = 2 Value in Var[-3] = 1>

Diferentes operaciones relacionadas con tuplas

A continuación se muestran las diferentes operaciones relacionadas con las tuplas en Python:

  • Concatenación
  • Anidación
  • Repetición
  • rebanar
  • Eliminando
  • Encontrar la longitud
  • Múltiples tipos de datos con tuplas
  • Conversión de listas a tuplas
  • Tuplas en un bucle

Concatenación de tuplas de Python

A Concatenación de Python Tuplas, usaremos operadores más (+).

Python3




# Code for concatenating 2 tuples> tuple1>=> (>0>,>1>,>2>,>3>)> tuple2>=> (>'python'>,>'geek'>)> # Concatenating above two> print>(tuple1>+> tuple2)>

>

>

Producción:

(0, 1, 2, 3, 'python', 'geek')>

Anidamiento de tuplas de Python

Una tupla anidada en Python significa una tupla dentro de otra tupla.

Python3




# Code for creating nested tuples> tuple1>=> (>0>,>1>,>2>,>3>)> tuple2>=> (>'python'>,>'geek'>)> tuple3>=> (tuple1, tuple2)> print>(tuple3)>

>

>

Producción :

((0, 1, 2, 3), ('python', 'geek'))>

Tuplas de repetición de Python

Podemos crear una tupla de varios elementos iguales a partir de un solo elemento en esa tupla.

Python3




# Code to create a tuple with repetition> tuple3>=> (>'python'>,)>*>3> print>(tuple3)>

>

>

Producción:

('python', 'python', 'python')>

Pruebe lo anterior sin coma y verifique. Obtendrá tuple3 como una cadena 'pythonpythonpython'.

Cortar tuplas en Python

Dividir una tupla de Python significa dividir una tupla en tuplas pequeñas utilizando el método de indexación.

Python3




# code to test slicing> tuple1>=> (>0> ,>1>,>2>,>3>)> print>(tuple1[>1>:])> print>(tuple1[::>->1>])> print>(tuple1[>2>:>4>])>

>

>

Producción:

En este ejemplo, dividimos la tupla desde el índice 1 hasta el último elemento. En la segunda declaración de impresión, imprimimos la tupla usando indexación inversa. Y en la tercera declaración impresa, imprimimos los elementos del índice 2 al 4.

(1, 2, 3) (3, 2, 1, 0) (2, 3)>

Nota: En el corte de Python, el índice final proporcionado no está incluido.

Eliminar una tupla en Python

En este ejemplo, estamos eliminando una tupla usando ' del’ keyword . La salida tendrá forma de error porque después de eliminar la tupla, dará un NameError.

Nota: No es posible eliminar elementos de tupla individuales, pero podemos eliminar la tupla completa usando la palabra clave Del.

Python3




# Code for deleting a tuple> tuple3>=> (>0>,>1>)> del> tuple3> print>(tuple3)>

>

>

Producción:

Traceback (most recent call last): File 'd92694727db1dc9118a5250bf04dafbd.py', line 6, in print(tuple3) NameError: name 'tuple3' is not defined>

Encontrar la longitud de una tupla de Python

Para encontrar la longitud de una tupla, podemos usar la función len() de Python y pasar la tupla como parámetro.

Python3




# Code for printing the length of a tuple> tuple2>=> (>'python'>,>'geek'>)> print>(>len>(tuple2))>

>

>

Producción:

 2>

Múltiples tipos de datos con tupla

Las tuplas en Python son de naturaleza heterogénea. Esto significa que las tuplas admiten elementos con múltiples tipos de datos.

Python3




# tuple with different datatypes> tuple_obj>=> (>'immutable'>,>True>,>23>)> print>(tuple_obj)>

>

>

Producción :

('immutable', True, 23)>

Convertir una lista en una tupla

Podemos convertir un lista en Python a una tupla usando el constructor tuple() y pasando la lista como sus parámetros.

Python3




# Code for converting a list and a string into a tuple> list1>=> [>0>,>1>,>2>]> print>(>tuple>(list1))> # string 'python'> print>(>tuple>(>'python'>))>

¿Qué hace Ravel en Python?

>

>

Producción:

Las tuplas toman un único parámetro que puede ser una lista, una cadena, un conjunto o incluso un diccionario (solo se toman claves como elementos) y los convierten en una tupla.

(0, 1, 2) ('p', 'y', 't', 'h', 'o', 'n')>

Tuplas en un bucle

También podemos crear una tupla con un solo elemento usando bucles .

Python3




# python code for creating tuples in a loop> tup>=> (>'geek'>,)> # Number of time loop runs> n>=> 5> for> i>in> range>(>int>(n)):> >tup>=> (tup,)> >print>(tup)>

>

>

Producción:

(('geek',),) ((('geek',),),) (((('geek',),),),) ((((('geek',),),),),) (((((('geek',),),),),),)>