Вы находитесь на странице: 1из 9

Listas

Listas

Una lista es una secuencia o colección de elementos, los cuales pueden ser de cualquier tipo de dato.

Igual que los strings, yo puedo acceder a sus elementos por medio de indexación y slicing. Y a diferencia de los strings, las
listas SÍ son mutables, yo puedo modificar los elementos de la lista (Modificar, Agregar, Eliminar).

Definición

Las listas se las definen utilizando corchetes [], y sus elementos se separan por comas

In [8]: lista = [1,2,3,4,5,6,7,8]


print(lista)
print(type(lista))

lista_vacia = []
print(lista_vacia, type(lista_vacia))

[1, 2, 3, 4, 5, 6, 7, 8]
<class 'list'>
[] <class 'list'>

In [3]: lista_heterogenea = [1, "Hola mundo", 2.34] #Los elementos de la lista pueden s
er de cualquier tipo de dato
print(lista_heterogenea)
print(type(lista_heterogenea))

[1, 'Hola mundo', 2.34]


<class 'list'>

Puedo convertir un string a lista

In [51]: cadena = "abcdefghijklmno"


lista = list(cadena)
print(lista)

lista2 = "20/03/2019".split("/") #La función split también crea una lista


print(lista2)

['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o']
['20', '03', '2019']

Puedo unir los elementos de mi lista y crear un string

1 of 9
Listas

In [50]: cadena2 = ",".join(lista) #Une los elementos de la lista

cadena3 = "-".join(lista)

cadena4 = "".join(lista)

print(cadena2)
print(cadena3)
print(cadena4)

a,b,c,d,e,f,g,h,i,j,k,l,m,n,o
a-b-c-d-e-f-g-h-i-j-k-l-m-n-o
abcdefghijklmno

Los elementos de la lista deben ser strings, o genera error.

In [53]: cadena = ",".join([1,2,3,4])

---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-53-46b16562172a> in <module>
----> 1 cadena = ",".join([1,2,3,4])

TypeError: sequence item 0: expected str instance, int found

Indexación y Slicing

Igual que los strings, los índices de las listas empiezan en 0.

In [6]: lista = ["uno", "dos", "tres", "cuatro", "cinco"]


primer_elemento = lista[0]
ultimo = lista[-1]

primeros3 = lista[:3]
invertida = lista[::-1]

print("primer elemento: ", primer_elemento)


print("último elemento:", ultimo)
print("Primeros 3", primeros3)
print("Invertida:", invertida)

primer elemento: uno


último elemento: cinco
Primeros 3 ['uno', 'dos', 'tres']
Invertida: ['cinco', 'cuatro', 'tres', 'dos', 'uno']

Puedo modificar los elementos en mi lista con indexing

2 of 9
Listas

In [7]: lista = ["uno", "dos", "tres", "cuatro", "cinco"]


print(lista[0])
lista[0] = "cero" #Modifico el primer elemento
print(lista)

uno
['cero', 'dos', 'tres', 'cuatro', 'cinco']

Operaciones con listas

Pertencia: in

In [10]: lista = ["uno", "dos", "tres", "cuatro", "cinco"]

cond = "uno" in lista


print(cond)

cond2 = "cero" in lista


print(cond2)

True
False

Longitud de mi lista: len()

In [12]: lista = "Creo una lista a partir de esta cadena".split(" ") # Creo una lista
print(lista)

longitud = len(lista)
print("Longitud de la lista: ",longitud)

['Creo', 'una', 'lista', 'a', 'partir', 'de', 'esta', 'cadena']


Longitud de la lista: 8

Concatenar listas: operador +

In [13]: nueva_lista = [1,2,3,4] + ["cinco", "seis"]


print(nueva_lista)

[1, 2, 3, 4, 'cinco', 'seis']

Repetición de elementos de mi lista: operador *

In [15]: lista = [1,2,3]


nueva_lista = lista*5 #Repito todos los elementos 5 veces
print(nueva_lista)

[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]

3 of 9
Listas

Eliminar elementos: del

Para eliminar un elemento de acuerdo a su índice

In [17]: lista = [2, 4, 5, 7, 1, 3, 10, 14]


print("Lista original:", lista)
del lista[3] #Elimino elemento ubicado en índice 3
print("Lista modificada:",lista)

Lista original: [2, 4, 5, 7, 1, 3, 10, 14]


Lista modificada: [2, 4, 5, 1, 3, 10, 14]

Min, Max, Sum


Para calcular el valor mínimo, máximo, o la suma de elementos de una lista

In [39]: lista = [2, 4, 5, 7, 1, 3, 10, 14]

print("Mínimo:", min(lista))
print("Máximo:", max(lista))
print("Suma:", sum(lista))

Mínimo: 1
Máximo: 14
Suma: 46

Funciones

La mayoría de las funciones de las listas no retornan ningún valor, en cambio modifican a la lista original.

Insertar y Remover elementos de la lista

Función append

Sintaxis: lista.append(elemento)

Retorna: None (No retorna ningún valor)

Agrega un elemento al final de la lista

4 of 9
Listas

In [19]: lista = []
print ("Lista vacía:",lista)

lista.append("manzana")#No necesito asignar el resultado de la función a ningun


a variable
lista.append("pera")
lista.append("sandía")

print ("Lista con 3 frutas", lista)

Lista vacía: []
Lista con 3 frutas ['manzana', 'pera', 'sandía']

Función insert

Sintaxis: lista.insert(indice, elemento)

Retorna: None (No retorna ningún valor)

Agrega un elemento a la lista en la posición especificada

In [21]: colores = ["amarillo", "rojo"]


print("colores:", colores)

colores.insert(1, "azul") #Inserto en el índice 1


print("colores:", colores)

colores: ['amarillo', 'rojo']


colores: ['amarillo', 'azul', 'rojo']

Función extend

Sintaxis: lista.extend(lista)

Retorna: None (No retorna ningún valor)

Agrega los elementos de la lista que recibe como parámetro al final de la lista original.

In [23]: lista = ["manzana", "pera"]


print("Lista original:", lista)
lista.extend(["uva", "piña"])
print("Agregado elementos:",lista)

Lista original: ['manzana', 'pera']


Agregado elementos: ['manzana', 'pera', 'uva', 'piña']

Función pop

Sintaxis: lista.pop(indice)

Retorna: Elemento en el índice especificado

Retorna el elemento en el índice especificado y lo elimina de la lista. Si no se especifica el índice del elemento a extraer, por
defecto extrae el último.

5 of 9
Listas

In [25]: frutas = ['manzana', 'pera', 'fresa', 'naranja', 'sandía', 'uva']


print("Lista original:", frutas)
fruta = frutas.pop()
print("Fruta extraida:", fruta)
print(frutas)

fruta2 = frutas.pop(3)
print("Fruta extraida:", fruta2)
print(frutas)

fruta3 = frutas.pop(-2)
print("Fruta extraida:", fruta3)
print(frutas)

Lista original: ['manzana', 'pera', 'fresa', 'naranja', 'sandía', 'uva']


Fruta extraida: uva
['manzana', 'pera', 'fresa', 'naranja', 'sandía']
Fruta extraida: naranja
['manzana', 'pera', 'fresa', 'sandía']
Fruta extraida: fresa
['manzana', 'pera', 'sandía']

Función remove

Sintaxis: lista.remove(valor)

Retorna: None

Remueve la primera ocurrencia del elemento valor en la lista. Si el elemento no existe en la lista, el programa produce error

In [27]: frutas = ['manzana', 'pera', 'fresa', 'naranja', 'sandía', 'uva']


print("Frutas:", frutas)

frutas.remove("pera")
print("Frutas:", frutas)

Frutas: ['manzana', 'pera', 'fresa', 'naranja', 'sandía', 'uva']


Frutas: ['manzana', 'fresa', 'naranja', 'sandía', 'uva']

In [28]: # Si no existe
frutas.remove("banana")

---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-28-97c3cc51bd91> in <module>
1 # Si no existe
----> 2 frutas.remove("banana")

ValueError: list.remove(x): x not in list

Antes de utilizar remove, se recomienda verificar si existe elemento en lista

6 of 9
Listas

In [29]: frutas = ['manzana', 'pera', 'fresa', 'naranja', 'sandía', 'uva']

if "banana" in frutas: #Si el elemento se encuentra en lista, ejecuta el bloque


if
frutas.remove("banana")
else: #Caso contrario, no elimina ningún elemento
print("No existe banana en lista")

No existe banana en lista

Más funciones

Función index

Sintaxis: lista.index(valor, start=0, stop=9223372036854775807)

Retorna: int

Retorna el índice de la primera ocurrencia de valor en lista. Si no lo encuentra, arroja error. Tiene dos parámetros
opcionales, para especificar desde qué indice iniciar(start) y terminar(stop) la búsqueda.

In [33]: #Funcion INDEX


lista = ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes"]

dia = "Lunes"
if dia in lista: #Para evitar que produzca error, verifico si existe el element
o
indice = lista.index(dia)
print("El día", dia, "se encuentra en el índice", indice)
else:
print("No se encuentra")

El día Lunes se encuentra en el índice 0

Función count()

Sintaxis: lista.count(valor)

Retorna: int

Retorna el número de veces que aparece valor en lista.

In [35]: #Funcion COUNT


lista = [1,2,3,4,3,2,1,5,7,4,2,1,4,6,8,5,2,4,6,2,1,4,1,3]

num = lista.count(4)
print("El número 4 aparece {} veces en la lista".format(num))

El número 4 aparece 5 veces en la lista

7 of 9
Listas

Función reverse

Sintaxis: lista.reverse()

Retorna: None

Invierte a la lista original

In [37]: lista = [1,2,3,4,5,6,7,8,9,10]


lista.reverse()
print("Lista invertida:", lista)

Lista invertida: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

Función sort

Sintaxis: lista.sort(reverse=False)

Retorna: None

Ordena los elementos de la lista. Por defecto ordena de menor a mayor. Con el parámetro adicional reverse=True ordena de
forma descendente.

In [42]: lista = [1,2,3,4,3,2,1,5,7,4,2,1,4,6,8,5,2,4,6,2,1,4,1,3]


print("Lista original: ", lista)

lista.sort()
print("Lista ordenada (menor a mayor):",lista)

lista.sort(reverse=True)
print("Lista ordenada (mayor a menor):", lista)

Lista original: [1, 2, 3, 4, 3, 2, 1, 5, 7, 4, 2, 1, 4, 6, 8, 5, 2, 4, 6, 2,


1, 4, 1, 3]
Lista ordenada (menor a mayor): [1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4,
4, 4, 4, 5, 5, 6, 6, 7, 8]
Lista ordenada (mayor a menor): [8, 7, 6, 6, 5, 5, 4, 4, 4, 4, 4, 3, 3, 3, 2,
2, 2, 2, 2, 1, 1, 1, 1, 1]

Existe tambíen la función sorted() que crea una nueva lista ordenada en vez de modificar a la original

In [45]: lista = [1,2,3,4,3,2,1,5,7,4,2,1,4,6,8,5,2,4,6,2,1,4,1,3]


lista_ordenada = sorted(lista)
print(lista_ordenada)
lista_ordenada = sorted(lista,reverse=True)
print(lista_ordenada)

[1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 6, 6, 7, 8]
[8, 7, 6, 6, 5, 5, 4, 4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1]

Ejercicios

8 of 9
Listas

1. Dadas 3 listas paralelas frutas, cantidad, precios, cree un programa que pida por teclado al usuario una opción:
Comprar fruta o Añadir fruta.

Si el usuario selecciona la primera opción, solicitar el nombre de la fruta y la cantidad, imprima por pantalla el valor total
de la venta y disminuya la cantidad de la fruta en la lista.

Si el usuario selecciona la segunda opción, solicitar el nombre, precio y cantidad de la fruta y agregue los valores a las
listas respectivas.

Para ambos casos, imprima el resultado de las listas al finalizar el programa.

In [55]: frutas = ["manzana", "pera", "naranja", "fresa", "durazno"]


precios = [ 0.50, 0.65, 0.25, 0.10, 0.35]
cantidad= [ 20, 12, 4, 30, 22]

Listas Paralelas: Se conocen como listas paralelas porque las listas tienen la misma cantidad de elementos y los elementos
en los mismos índices están relacionados. Por ejemplo: si quiero conocer el precio y cantidad de la fruta en el índice 1 (pera),
puedo consultar el precio en el mismo índice 1 de la lista precios (0.65), y la cantidad en el mismo índice 1 de la lista cantidad
(12)

9 of 9

Вам также может понравиться