Listas y Tuplas en Python: Similitudes y diferencias entre ellas.

Lista y tupla run
-Vamos a ver Listas en python!! Y no hablamos de la lista del mercado ni la de invitados!!

Aunque su funcionalidad nos permita realizar una!. Las Listas y Tuplas en python son lo que en otros lenguajes de programación se conoce como Vectores o Arrays. Se refieren a una zona de almacenamiento contiguo donde podemos guardar numerosos elementos.

Simple y sencillo es como si almacenamos varios datos dentro de una misma variable!! Recuerda que en la entrada sobre Variables te dije que podían ser tranquilamente tuplas, listas, conjuntos, etc. Pueden ser dinámicas o estáticas (en el caso de las tuplas).

 

 

Listas en python

Como dijimos anteriormente podemos definir una lista como una zona de almacenamiento contigua donde podemos almacenar numerosos y diferentes datos, la misma puede editarse, modificarse mediante métodos. Es dinámica! Veamos ahora su sintaxis!

Sintaxis de Listas[ ]:

Para crear un lista simplemente lo hacemos como si declaramos una variable pero almacenando en ella dentro de corchetes los elementos o ítems:

Objetos = ["Casa", "coche", "puerta"]

Numeros = [111, 222, 333, 444, 555, 666]

 

Como vemos mas arriba creamos dos listas “Objetos” y “Numeros“, la primera contiene elementos de tipo String (texto). Por lo  tanto deben ir entre comillas y separados por coma.

De esta forma hemos creados dos!

Pero también pueden ser creadas sin especificar los elementos que contienen, porque al ser dinámicas los podemos agregar después. No es así en el caso de las tuplas que obligadamente debemos especificar al momento de crearla cuáles serán los elementos que vamos a almacenar en ella!

Para crear una vacía lo hacemos de igual modo pero sin elementos, siempre respetando la sintaxis y colocando los debidos “Corchetes”:

List1 = []


 

Tuplas en python

 

Una Tupla es la igual que una lista, una zona de almacenamiento contigua donde podemos almacenar diferentes y numerosos elementos. Pero con algunas diferencias muy marcadas y que siempre debes recordar:

Las tuplas son Estáticas, no se pueden modificar durante la ejecución del programa. Por ende al crearla debes colocar si o si los elementos que se van a almacenar. Veamos ahora un ejemplo de tuplas y su sintaxis:

Sintaxis de Tuplas( ):

Cosas = ("casa", "puerta", "reloj", "mesa", "silla", "banco", "cuadro", "alfombra")

Numeros = (1, 2, 3, 4, 55)

Como vemos más arriba creamos dos Tuplas “Cosas” y “Numeros“, la primera contiene elementos de tipo String (texto). Por lo  tanto deben ir entre comillas y separados por coma.

De esta forma hemos creados dos tuplas!

Recuerda que en las tuplas debes obligadamente especificar al momento de crearla cuáles son los elementos que vamos a almacenar!

Siempre que creemos una tupla debemos utilizarparéntesis, esto le indica a Python que se trata de una Tupla y no de una lista, o viceversa.


 

Diferencias y similitudes entre listas y tuplas:

Recordemos que:

 

Listas en Python
Tuplas en Python
Son Dinámicas
Son Estáticas
Utilizamos Corchetes [ ]
Utilizamos Paréntesis ( )
Elementos separados por coma
Elementos separados por coma
List = [1, 2]
Tupla = (1, 2)
Acceso a elementos [Índice]
Acceso a elementos [Índice]

 


 

Accediendo a Listas y Tuplas:

 

Pero, ¿Cómo accedemos a estos elementos que almacenamos dentro de ellas?

Aquí es donde comprenderás su utilidad, para acceder a los elementos debemos hacerlo teniendo en cuenta que a cada elemento almacenado en cualquiera de las dos se le asigna un Índice.

Un índice es un número que identifica el elemento dentro del grupo de elementos o ítems, siempre comenzando por cero.

Aunque modifiquemos los elementos siempre el primero será el cero y a partir de allí irá en aumento.

A la lista que creamos anteriormente le corresponden los siguientes:

Objetos = ["Casa", "coche", "puerta"]

 

Objetos =
[“casa”,
“coche”,
“puerta”]
012

 

Numeros = [111, 222, 333, 444, 555, 666]

 

Numeros =
[111,
222,
333,
444,
555,]
01234

 

Entonces simplemente si yo quiero acceder al Número “111” de la Lista “Numeros” debo especificar la lista y seguido entre “Corchetes”, el número del índice que le corresponde:

Numeros[0]

Resultado: 111

Y esto debería mostrar el número 111 correspondiente al Índice 0. O en el caso de la lista “Objetos”, el elemento “casa”.

Objetos[0]

Resultado: casa

Ahora si queremos imprimir un elemento de las tuplas, lo hacemos de la misma manera utilizando corchetes:

Cosas[2]

Resultado: Reloj

Esto nos muestra el elemento reloj que pertenece al indice 2 como colocamos entre paréntesis.

Numeros[2]

Resultado: 3

Y aquí nos imprime el número 3 que corresponde al índice 2. Esto se pone confuso cuando es una lista o tupla de números, pero recordemos que el indexado siempre comienza con el “0”.

Tanto para Acceder a Listas o Tuplas en python se usan Corchetes, los paréntesis son sólo para indicar cuando creamos la tupla.

 

Bien ahora te voy a dejar mi clasico gif en spoiler, poniendo en práctica todo lo anterior en el intérprete de Python :B

Muestrame la jodida imagen!

Listas y Tuplas en Intérprete de Python 3

Es importante destacar que si ingresas un Índice que no existe por ejemplo “100” te mostrará un error!!.


Slice : cortando Listas y Tuplas en Python

 

Slice en español quiere decir rebanada o pedazo y hace referencia a un recorte de una lista o tupla.Slice

Como vimos anteriormente para acceder a cualquiera de estas se coloca el Índice del elemento entre corchetes. Pero, ¿qué sucede si queremos mostrar un “pedazo”, “parte” o rebanada de la Lista y Tupla y no solo un elemento?. Para eso podemos especificar un índice de inicio y un índice de final y entonces nos mostrará una parte, lo hacemos de la siguiente manera:

 

Numeros[0:3]

Resultado: 111, 222, 333

 

En este caso accedemos a la Lista “Numeros” que creamos anteriormente y mostramos del indice “0” al “3”. Donde el primer numero entre corchetes marca el comienzo y el segundo (luego de los dos puntos (:)) el final. Si ahora cambiamos el numero del inicio (cero) por el (uno) comenzará a mostrar desde el índice 1. Veámoslo

Numeros [1:3]

Resultado: 222, 333

También a la hora de mostrar una Lista o Tupla en python podemos indicarle que nos la muestre completa excepto los últimos elementos de ella.. Indicando como final un número negativo, por ejemplo:

 

Numeros[:-2]
Resultado: 111, 222, 333

En este caso le pedimos que nos muestre toda la lista completa porque no colocamos un número de inicio que iría delante de los “ : ” y como final colocamos un número negativo. Entonces comprende que debe comenzar por el principio de esta pero evitar los últimos dos índices.

 


 

 

Métodos de listas en Python (modificarlas)

Añadir ok!

Vamos a ver como añadir o quitar elementos mediante los métodos append, insert, remove!! Porque por supuesto puedes añadir todos los elementos que quieras en el código fuente. Pero en este caso vamos a agregar código para que cambie mientras nuestro programa se ejecuta.

Vamos a comenzar!! Supongamos que luego de crear una lista queremos imprimirla y luego modificar elementos con una instrucción para volver a imprimirla ¿Como lo hacemos?

 

Método Append e Insert (Añadir Elementos)

He pero espera, antes de todo debemos comprender que es un método!!

Guiándonos por la definición de método que da la Wikipedia podemos llegar a la siguiente conclusión:

Un método puede ser una serie de sentencias para llevar a cabo una acción, pero en este caso podemos ver al método como el pedido a un objeto para que realice una tarea o en este caso un cambio!

Ya sabiendo esto mi colega es hora de ir a la práctica :D!


Append (Que se traduce Adjuntar en español)

Sirve para agregar un elemento al final de una lista en python, es muy sencillo utilizarlo, solo se coloca el nombre de ella que vamos a modificar seguido de un punto, el método (append en este caso) y luego entre paréntesis el elemento a agregar….

Queremos agregar el nombre “Alex” a la lista y como no nos importa el orden de los elementos utilizamos el método append que lo ubicara a lo último. Vamos a imprimirla completa antes y después.

List1 = ['Marcos', 'Roberto', 'Celeste', 'Margarita']
print (List1)

Lista1.append ('Alex')

print (List1)

Resultado del 1er print: [‘Marcos’, ‘Roberto’, ‘Celeste’, ‘Margarita’]

Resultado del 2do print: [‘Marcos’, ‘Roberto’, ‘Celeste’, ‘Margarita’, ‘Alex’]

Recuerda: el código tiene un orden descendente de ejecución por lo que primero debe ser creada antes de agregar un elemento!! Si el elemento es texto debe llevar comillas, no así en caso de valores numéricos.

Pero como mencionamos anteriormente el método Append solo nos permite agregar un elemento al final de la lista. ¿Y si yo quiero agregar mas de uno?. Vamos a eso!!


Método Extend (Que se traduce Ampliar en español)

Es util para agregar varios elementos al final de una lista o tambien añadir una nueva lista en python. Usando el método extend nos permite extenderla, veamos el ejemplo:

List1 = ['Marcos', 'Roberto', 'Celeste', 'Margarita']
print (List1)

List1.extend ('Alex', 'Maria', 'Julian', 'Jorge')

print (List1)

Resultado del 1er print: [‘Marcos’, ‘Roberto’, ‘Celeste’, ‘Margarita’]

Resultado del 2do print: [‘Marcos’, ‘Roberto’, ‘Celeste’, ‘Margarita’, ‘Alex’, ‘Maria’, ‘Julian’, ‘Jorge’]

 

Agregando otra lista a una lista:

 

Haa vale! ¿pero si yo quiero agregar un elemento en otra parte de la lista que no sea el final?

Fácil, usamos el método Insert:


Método Insert (Que se traduce Insertar en español)

Para añadir un elemento en otra parte podemos usar el método insert al igual que lo hicimos anteriormente: Primero indicamos el nombre de ella y seguido de un punto el método (Insert en este caso) y luego entre paréntesis indicamos el índice y seguido de una coma el elemento. Así:

List1 = ['Marcos', 'Roberto', 'Celeste', 'Margarita']
print (List1)

List1.insert (1, 'Alex')

print (List1)

Resultado del 1er print: [‘Marcos’, ‘Roberto’, ‘Celeste’, ‘Margarita’]

Resultado del 2do print: [‘Marcos’, ‘Alex’, ‘Roberto’, ‘Celeste’, ‘Margarita’]

Como podemos ver nuestro elemento “Alex” se añadió en el índice uno tal cual lo indicamos y le asignó otro índice a los siguientes.


Método Pop y Remove (Quitar Elementos)Quitar elementos de listas en python

 

Es hora de eliminar algunos nombres que no me agradan de esta lista! Simplemente les llegó la hora 8)

Se nos permite eliminar mediante el número de índice y tambien por valores.. Veamos:


Método Pop (Que se traduce al español como pequeña explosión  ^^)

Al igual que los demás solo debemos ingresar el nombre, seguido del punto y el nombre del método (pop) y entonces entre paréntesis indicamos el índice del elemento a eliminar.

List1 = ['Marcos', 'Roberto', 'Celeste', 'Margarita']
print (List1)

List1.pop (1)

print (List1)

Resultado del 1er print: [‘Marcos’, ‘Roberto’, ‘Celeste’, ‘Margarita’]

Resultado del 2do print: [‘Marcos’, ‘Celeste’, ‘Margarita’]

En este caso explotara (elimina) a Roberto que es el índice uno como le indicamos entre los paréntesis! Ahí tienes Roberto de los co.jones!

Si al método pop no le indicamos índice nos eliminará el último elemento de nuestra lista!


Método Remove (Que se traduce como retirar)

El método Remove nos va a servir para eliminar un elemento de listas en python llamándolo por su valor, o por su índice, aunque a veces teniendo una larga sería molesto ponerse a contar palabras!! Así que vamos a ello, vamos a deshacernos de ese tal “Marcos” que está molestando allí.

print (List1) #en este caso continuamos con la lista como había quedado antes

List1.remove ('Marcos')

print (List1)

Resultado del 1er print: [‘Marcos’, ‘Celeste’, ‘Margarita’]

Resultado del 2do print: [ ‘Celeste’, ‘Margarita’]

Ahora si! Conociendo los métodos de listas y tuplas en python podemos modificarlas según sea necesario añadir o quitar elementos!

Adiooos!Esta entrada se ha echo un poquito larga, pero completísima!! Espero hallas aprendido y resuelto tus dudas! Nos vemos en la siguiente!

 

 


Suscribete al blog!

Mantenemos tus datos en privado y NO enviamos spam. Lee nuestra política de privacidad.

Ayúdame a llegar a mas personas!
  • 1
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  •  
  •  
  •  
  •  
  •