Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Dominando tuplas en Python: Definición, uso y diferencias con listas

Una tupla es una colección de objetos ordenada e inmutable. Las tuplas son secuencias, como las listas. Las diferencias: las tuplas no pueden cambiarse a diferencia de las listas, y usan paréntesis, mientras que las listas usan corchetes.

Crear una tupla es tan simple como poner valores separados por comas. Opcionalmente entre paréntesis. Por ejemplo:

tup1 = ('física', 'química', 1997, 2000)
tup2 = (1, 2, 3, 4, 5)
tup3 = "a", "b", "c", "d"

La tupla vacía se escribe con dos paréntesis sin nada:

tup1 = ()

Para una tupla con un solo valor, debes incluir una coma:

tup1 = (50,)

Como índices de cadena, los de tupla empiezan en 0, y pueden rebanarse, concatenarse, etc.

Acceso a valores en tuplas

Para acceder, usa corchetes para rebanado con índice. Por ejemplo:

Demo en vivo
#!/usr/bin/python
tup1 = ('física', 'química', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7)
print "tup1[0]: ", tup1[0]
print "tup2[1:5]: ", tup2[1:5]

Resultado:

tup1[0]: física
tup2[1:5]: [2, 3, 4, 5]

Actualización de tuplas

Las tuplas son inmutables: no puedes actualizar o cambiar valores de elementos. Puedes tomar porciones de tuplas existentes para crear nuevas tuplas:

Demo en vivo
#!/usr/bin/python
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
# tup1[0] = 100;  # No válido para tuplas
# Crear nueva tupla:
tup3 = tup1 + tup2
print tup3

Resultado:

(12, 34.56, 'abc', 'xyz')

Eliminar elementos de tupla

Eliminar elementos individuales no es posible. Puedes crear otra tupla sin los elementos no deseados.

Para eliminar una tupla completa, usa del. Por ejemplo:

Demo en vivo
#!/usr/bin/python
tup = ('física', 'química', 1997, 2000)
print tup
del tup
print "Después de eliminar tup: "
print tup

Resultado (excepción porque tup ya no existe):

('física', 'química', 1997, 2000)
Después de eliminar tup:
Traceback (most recent call last):
File "test.py", line 9, in 
print tup
NameError: name 'tup' is not defined

Operaciones básicas de tuplas

Las tuplas responden a + y * como cadenas: concatenación y repetición, resultado es nueva tupla.

Expresión PythonResultadoDescripción
len((1, 2, 3))3Longitud
(1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)Concatenación
('¡Hola!',) * 4('¡Hola!', '¡Hola!', '¡Hola!', '¡Hola!')Repetición
3 in (1, 2, 3)TruePertenencia
for x in (1, 2, 3): print x,1 2 3Iteración

Indexación, rebanado y matrices

Porque las tuplas son secuencias, indexación y rebanado funcionan igual que en cadenas. Asumiendo:

L = ('spam', 'Spam', 'SPAM!')
Expresión PythonResultadoDescripción
L[2]'SPAM!'Offsets comienzan en cero
L[-2]'Spam'Negativo: cuenta desde la derecha
L[1:]['Spam', 'SPAM!']Rebanado obtiene secciones

Sin delimitadores envolventes

Cualquier conjunto de múltiples objetos, separados por comas, sin símbolos identificadores (corchetes para listas, paréntesis para tuplas), por defecto son tuplas:

Demo en vivo
#!/usr/bin/python
print 'abc', -4.24e93, 18+6.6j, 'xyz'
x, y = 1, 2
print "Valor de x, y: ", x, y

Resultado:

abc -4.24e+93 (18+6.6j) xyz
Valor de x, y: 1 2

Funciones integradas de tupla

Python incluye las siguientes funciones de tupla:

NºFunción con descripción
1cmp(tupla1, tupla2) - Compara elementos de ambas tuplas.
2len(tupla) - Longitud total de la tupla.
3max(tupla) - Elemento con valor máximo.
4min(tupla) - Elemento con valor mínimo.
5tuple(seq) - Convierte lista en tupla.

python

  1. Dominando tipos de datos en Python: Guía práctica
  2. Dominando operadores en Python: Guía completa
  3. Dominando la sentencia pass en Python: Guía práctica
  4. Dominando argumentos de funciones en Python: Posicionales, por palabra clave y por defecto
  5. Dominando Diccionarios en Python: Creación, Manipulación y Técnicas Avanzadas
  6. Dominando Iteradores en Python: Cómo Funcionan y Cómo Crear los Tuyos
  7. Explicación de Closures en Python: Cómo las Funciones Anidadas Capturan Variables
  8. Dominando datetime en Python: Guía Práctica de Fechas, Horas y Zonas Horarias
  9. Dominar time.sleep() en Python: Mejores Prácticas, Multihilo y Ejemplos Reales
  10. Domine las Tuplas en Python: Packing, Unpacking, Comparación, Slicing y Claves de Diccionario
  11. Dominando enumerate() en Python: bucles con índices para listas, tuplas, cadenas y diccionarios