Listas y Matrices1

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 32

Listas

Una lista es una secuencia


Así como una cadena, una lista es una secuencia de valores. En una cadena, los valores son caracteres; en una lista, pueden ser
cualquier tipo. Los valores en una lista son llamados elementos o a veces ítems. Hay varias formas de crear una nueva lista; la más
simple es encerrar los elementos en corchetes (“[" y “]”):

El primer ejemplo es una lista de 4 enteros. La segunda es una lista de tres cadenas. Los elementos de una lista no tienen que ser del
mismo tipo. La siguiente lista contiene una cadena, un flotante, un entero, y (¡mira!) otra lista:

Una lista dentro de otra lista está anidada. Una lista que no contiene elementos es llamada una lista vacía; puedes crear una con
corchetes vacíos, [].
Como puedes ver, puedes asignar los valores de una lista a variables:

Las listas Se construyen poniendo los elementos entre corchetes [ ] separados por comas.
Se caracterizan por:
• Tienen orden.
• Pueden contener elementos de distintos tipos.
• Son mutables, es decir, pueden alterarse durante la ejecución de un programa.
Creación de listas mediante la función list()
Acceso a los elementos de una lista
Sublistas
Operaciones que no modifican una lista
Operaciones que modifican una lista
Las listas son mutables
La sintaxis para acceder a elementos de una lista es la misma que para acceder los caracteres de una cadena: el operador corchete. La
expresión dentro de los corchetes especifica el índice. Recordemos que los índices empiezan en 0:

A diferencia de las cadenas, las listas son mutables porque pueden cambiar el orden de los elementos en una lista o reasignar un
elemento en una lista. Cuando el operador corchete aparece en el lado izquierdo de una asignación, éste identifica el elemento de la
lista que será asignado.

El elemento en la posición uno de numeros, el cual solía ser 123, es ahora 5.


Puedes pensar en una lista como una relación entre índices y elementos. Esta relación es llamada mapeo; cada índice “mapea a” uno
de los elementos. Los índices en una lista funcionan de la misma manera que los índices de una cadena:

• Cualquier forma de entero puede ser utilizada como índice.

• Si tratas de leer o escribir un elemento que no existe, obtendrás un IndexError.

• Si un índice tiene un valor negativo, éste cuenta hacia atrás desde el final de la lista.

El operador in funciona también en listas.


Recorriendo una lista
La forma más común de recorrer los elementos de una lista es con un bucle for.

La sintaxis es la misma que para las cadenas:

Esto funciona bien si solamente necesitas leer los elementos de la lista. Pero si quieres escribir o actualizar los elementos, necesitas
los índices. Una forma común de hacer eso es combinando las funciones range y len:
Este bucle recorre la lista y actualiza cada elemento. len regresa el número de elementos en una lista. range regresa una lista de
índices desde 0 hasta n − 1, donde n es la longitud de la lista.

Cada vez que pasa a través del recorrido, i obtiene el índice del siguiente elemento. La sentencia de asignación dentro del bucle
utiliza i para leer el valor original del elemento y asignar un nuevo valor.

Un bucle for a través de una lista vacía nunca ejecuta el código contenido en el cuerpo:

Aunque una lista puede contener otra lista, las listas anidadas siguen contando como un solo elemento. El tamaño de esta lista es
cuatro:
Operaciones de listas
El operador ” + “ concatena listas:

De igual forma, el operador * repite una lista un determinado número de veces:

En el primer ejemplo se repite cuatro veces. En el segundo ejemplo se repite la lista tres veces.
Rebanado de listas
El operador de rebanado también funciona en listas:

Si omites el primer índice, el rebanado comienza desde el inicio de la lista. Si omites el segundo, el rebanado se va hasta el final. Así
que si omites ambos, el rebanado es una copia de la lista completa.

Como las listas son mutables, a veces es útil hacer una copia antes de hacer operaciones que doblan, pegan, o cortan listas.
Un operador de rebanado al lado izquierdo de una asignación puede actualizar múltiples elementos:
Métodos de las listas
Python provee métodos que operan en listas. Por ejemplo, append agrega un nuevo elemento al final de una lista:

extend toma una lista como argumento y agrega todos los elementos:

Este ejemplo deja t2 sin modificar.


sort ordena los elementos de la lista de menor a mayor:

La mayoría de métodos no regresan nada; modifican la lista y regresan None. Si accidentalmentes escribes t = t.sort(), vas a
decepcionarte con el resultado.
Eliminando elementos
Hay varias formas de eliminar elementos de una lista. Si sabes el índice del elemento que quieres, puedes usar pop:

pop modifica la lista y regresa el elemento que fue removido. Si no provees un índice, la función elimina y retorna el último
elemento. Si no necesitas el valor removido, puedes usar el operador del:
Si sabes qué elemento quieres remover (pero no sabes el índice), puedes usar remove:

El valor de retorno de remove es None. Para remover más de un elemento, puedes usar del con un índice de rebanado:

Como siempre, el rebanado selecciona todos los elementos hasta, pero excluyendo, el segundo índice.
Listas y funciones
Hay un cierto número funciones internas que pueden ser utilizadas en las listas que te permiten mirar rápidamente a través de una
lista sin escribir tus propios bucles:

La función sum() solamente funciona cuando los elementos de la lista son números. Las otras funciones (max(), len(), etc.)
funcionan con listas de cadenas y otros tipos que pueden ser comparados entre sí.
Podríamos reescribir un programa anterior que calculaba el promedio de una lista de números ingresados por el usuario utilizando
una lista. Primero, el programa para calcular un promedio sin una lista:

En este programa, tenemos las variables contador y total para almacenar la cantidad y el total actual de los números del usuario
según el usuario va ingresando los números repetidamente
Podríamos simplemente recordar cada número como el usuario lo ingresó, y utilizar funciones internas para calcular la suma y el
total de números al final.

Creamos una lista vacía antes de que comience el bucle, y luego cada vez que tengamos un número, lo agregamos a la lista. Al final
del programa, simplemente calculamos la suma de los números en la lista y la dividimos por el total de números en la lista para
obtener el promedio.
Listas y cadenas
Una cadena es una secuencia de caracteres y una lista es una secuencia de valores, pero una lista de caracteres no es lo mismo que
una cadena. Para convertir una cadena en una lista de caracteres, puedes usar list:

Debido a que list es el nombre de una función interna, debes evitar usarla como un nombre de variable. Es buena práctica tratar
evitar también la letra “l” porque se parece mucho al número “1”.

La función list divide una cadena en letras individuales. Si quieres dividir una cadena en palabras, puedes utilizar el método split:
Puedes llamar split con un argumento opcional llamado delimitador que especifica qué caracteres usar para delimitar las palabras. El
siguiente ejemplo utiliza un guión medio como delimitador:

join es el inverso de split. Este toma una lista de cadenas y concatena los elementos. join es un método de cadenas, así que tienes que
invocarlo en el delimitador y pasar la lista como un parámetro:

En este caso el delimitador es un carácter de espacio, así que join agrega un espacio entre las palabras. Para concatenar cadenas sin
espacios, puedes usar la cadena vacía, “”, como delimitador.
Métodos principales
Agregar un elemento al final de la lista

Método: append (“nuevo elemento”)

Agregar varios elementos al final de la lista

Método: extend(otra_lista)
Agregar un elemento en una posición determinada

Método: insert(posición, “nuevo elemento”)

Eliminar el último elemento de la lista

Método: pop()

Retorna: El elemento eliminado


Eliminar un elemento por su índice

Método: pop(índice)

Retorna: el elemento eliminado

Eliminar un elemento por su valor

Método: remove(“valor”)
Ordenar una lista en reversa (invertir orden)

Método: reverse()

Ordenar una lista en forma ascendente

Método: sort()
Ordenar una lista en forma descendente

Método: sort(reverse=True)

Contar cantidad de apariciones elementos

Método: count(elemento)
Obtener número de índice

Método: index(elemento [, indice_inicio, indice_fin])

También podría gustarte