list()
a = []
b = list()
print(a)
print(b)
a = [1,2,3,4]
palabra = "hola"
b = list([palabra,2,[1,2],'3'])
print(a)
print(b)
¿Qué hace la siguiente operación?
c = list("abc")
print(c)
d = list([1,2,3,4])
print(d)
La función list(ite)
convierte a lista al tipo de dato dado por la variable ite
. Cada elemento de ite
es agregado a una lista.
La función range
genera una secuencia de números ordenados.
range
.range(fin)
genera una secuencia de fin
números ordenados desde 0
hasta fin-1
.
#rango de 3 numeros
a = range(3)
print(a)
#usando la funcion list para convertir una secuencia a lista
b = list(a)
print(b)
range(inicio,fin)
genera una secuencia de números ordenados, iniciada en inicio
y terminada en fin-1
.
#rango de numeros desde el 2 al 7
c = range(2,7)
print(c)
#usando la funcion list para convertir una secuencia a lista
d = list(range(2,7))
print(d)
range(inicio, fin, salto)
genera una secuencia de números ordenados, iniciada en inicio
, hasta antes de llegar a fin
, con saltos entre cada número de la secuencia de salto
.
#rango de numeros desde el 2 hasta el 10 con saltos de 3
range(2,10,3)
#usando la funcion list para convertir una secuencia a lista
f = list(range(2,10,3))
print(f)
Las listas tienen índices para enumerar sus elementos, de manera similar que con strings.
a = [1,2,3,4]
print(a[1])
print(a[10])
A diferencia de los strings, las listas son tipos de datos mutables. El índice puede ser usado para modificar un elemento de la lista
colores = ["azul", "rojo", "verde", "amarillo"]
print("Lista antes de modificar un elemento por el indice")
print(colores)
colores[0] = "fucsia"
print("Lista despues de modificar un elemento por el indice")
print(colores)
Las listas también poseen índices negativos.
a = [1,2,3,4]
#imprime por pantalla el penultimo elemento de la lista
print(a[-2])
La notación l[inicio:fin]
también es válida para listas, solo que obtiene una lista con los elementos desde el índice inicio
hasta el índice fin-1
.
a = list(range(2,20))
print(a[4:15])
Algunas operaciones de listas son análogas a las operaciones de strings:
+
)*
)El operador suma (+) permite juntar dos listas
a = [1,2,3]
b = [4,6,8]
c = a + b
d = b + a
print(c)
print(d)
[1,2] + [2,6]
El operador multiplicación (*) permite repetir una lista
a = [1,4,6]
c = a*3
print(c)
La instrucción in
permite verificar si un elemento está contenido en la lista.
a = [1,2,3,4]
10 not in a
6 in a
¿Se muéstra el mensaje en el siguiente ejemplo?
a = [1,2,3,4]
verificar = 3 in a
if verificar:
print("correcto")
del
, es posible eliminar un elemento de la lista.a = [1,2,3,4,2]
print("lista antes de eliminar el elemento a[-3]")
print(a)
del a[-3]
print("lista despues de eliminar a[-3]")
print(a)
La función len(lista)
entrega la cantidad de elementos de la lista ingresada como parámetro.
a = [1,2,3,4]
c = len(a)
print("La cantidad de elementos de la lista es",c)
b = [[1,2,3,4]]
d = len(b[0])
print("La cantidad de elementos de la lista es",d)
¿Qué ocurre con la cantidad de elementos de las listas vacías?
print(len([]))
print(len(list()))
Usando la función sum(lista)
, se puede determinar la suma de los elementos de una lista.
sum([1,5,3])
sum([1.0,5.4,3])
¿Que hace el siguiente programa?
b = 5
a = [1,2,4,b]
c = sum(a)/len(a)
print(round(c))
La función min(lista)
entrega el valor mínimo en la lista
ingresada como parámetro.
m = min([1,6,2,-1])
print(m)
La función max(lista)
entrega el valor máximo en la lista
ingresada como parámetro.
m = max([1,6,2,-1])
print(m)
x
: l.append(x)
x
en una posición pos
: l.insert(pos,x)
x
: l.count(x)
x
: l.index(x)
x
: l.remove(x)
l.reverse()
l.sort()
Importante: recordar que los métodos operan sobre una variable que es de cierto tipo. En este caso l
es una lista.
append
, se agregará un elemento al final de la lista.a = [1,2,3,4]
print("lista antes de agregar un elemento")
print(a)
#agregar un 4 al final de la lista
a.append(4)
print("lista despues de agregar un elemento")
print(a)
Usando el método insert
se puede agregar un elemento en la lista en la posición i-ésima ingresada como parámetro.
a = [1,2,3,4]
print("lista antes de agregar un elemento")
print(a)
#agregar un 10 en a[2]
a.insert(2,10)
print("lista despues de agregar un elemento")
print(a)
El método count
cuenta cuántas veces aparece un elemento en la lista.
a = list("paralelepipedo")
b = a.count("p")
print(b)
index
entrega la posición de un elemento en la listaa = [1,2,3,4,3]
a.index(3)
a.index(214)
¿Cómo se puede asegurar que al usar index
no habrá error?
a = [1,2,3,4,3]
if 214 in a:
print("El elemento 214 esta en el indice",a.index(214))
if 3 in a:
print("El elemento 3 esta en el indice",a.index(3))
remove
elimina el elemento ingresado como parámetroa = [1,2,3,5,3]
print("lista antes de eliminar el elemento 3")
print(a)
#eliminar el elemento 3 de la lista
a.remove(3)
print("lista despues de eliminar")
print(a)
a.remove(7)
¿Cómo se puede evitar este error al intentar eliminar un elemento?
a = [1,2,3,5,3]
if 7 in a:
a.remove(7)
El método reverse
invierte el orden de los elementos de una lista.
a = [4,1,10,5]
print("lista antes de invertir")
print(a)
a.reverse()
print("lista despues de invertir")
print(a)
El método sort
ordena los elementos de una lista en orden creciente.
a = [4,1,10,6]
print("lista antes de ordenar")
print(a)
a.sort()
print("lista despues de ordenar")
print(a)
¿Cómo ordenar los elementos de una lista en orden decreciente?
a = [4,1,10,6]
print("lista antes de ordenar")
print(a)
a.sort()
a.reverse()
print("lista despues de ordenar")
print(a)
for
en listas¶for
puede ser usado para iterar sobre listas.lista = [1,4,"s",[1,5]]
for elem in lista:
print("elem =",elem)
range
en un ciclo for
¶suma = 0
for k in range(3,6):
suma += k**2
print(suma)
for i in range(5):
print("hola persona "+str(i+1))
for i in range(2,5):
print(i)
range
while
y ciclo for
¶¿Son equivalentes los siguientes códigos?
contador = 0
suma = 0
while contador < 5:
suma += contador
contador += 1
print("La suma es igual a",suma)
suma = 0
for contador in range(5):
suma += contador
print("La suma es igual a",suma)
while
y ciclo for
¶ramos = ["Progra", "Mate", "Fisica"]
i = 0
while i < len(ramos):
print("Tengo clases de",ramos[i])
i += 1
ramos = ["Progra", "Mate", "Fisica"]
for ramo in ramos:
print("Tengo clases de",ramo)
ramos = ["Progra", "Mate", "Fisica"]
horas = ["8:00", "10:00", "12:00"]
i = 0
while i < len(ramos):
print("Tengo clases de",ramos[i],"a las", horas[i])
i += 1
ramos = ["Progra", "Mate", "Fisica"]
horas = ["8:00", "10:00", "12:00"]
print(list(range(len(ramos))))
for i in range(len(ramos)):
print("Tengo clases de",ramos[i],"a las", horas[i])
1. La desviación estándar es una medida que se usa para cuantificar la variación o dispersión de un conjunto de datos numéricos.
$$ \sigma = \sqrt{\sum_{i}^n \frac{(x_i-\mu)^2}{n-1}} $$Donde n es la cantidad de datos, μ es el promedio y los xᵢ son cada uno de los datos. Esto significa que hay que hacerlo siguiendo estos pasos:
Desarrolle la función desviacion_estandar(valores)
cuyo parámetro valores
sea una lista de números reales. La función debe retornar la desviación estándar de los valores.
>>> desviacion_estandar([1.3, 1.3, 1.3])
0.0
>>> desviacion_estandar([4.0, 1.0, 11.0, 13.0, 2.0, 7.0])
4.88535225615
>>> desviacion_estandar([1.5, 9.5])
5.65685424949
2. La búsqueda secuencial (o lineal) es un método para encontrar un valor en una lista desordenada verificando cada elemento secuencialmente desde el primero hasta que el elemento buscado se encuentra o se llega al final de la lista.
Escriba la función búsqueda_secuencial(lista, elemento)
que recibe una lista desordenada y un elemento que se desea encontrar. La función debe retornar la posición del elemento
en la lista
utilizando una búsqueda secuencial. Si no se encuentra retornar False.
>>> búsqueda_secuencial([11,23,58,31,56,77,43,12,65,19], 31)
3
>>> búsqueda_secuencial([11,23,58,31,56,77,43,12,65,19], 13)
False
3. La búsqueda binaria encuentra la posición de un elemento en una lista ordenada, comparando el elemento con el valor de al medio de la lista, si no son iguales, la mitad en la cual el valor no puede estar es eliminada y la búsqueda continúa en la mitad restante hasta que el valor se encuentre.
Por ejemplo, se desea encontrar el 10 en la siguiente lista:
4 | 6 | 10 | 12 | 17 | 25 | 29 |
Comparar el elemento buscado con el valor central: 10 < 12, es menor, entonces descartar el lado derecho.
4 | 6 | 10 |
Comparar el elemento buscado con el valor central: 10 > 6, es mayor, entonces descartar el lado izquierdo.
6 |
Comparar el elemento buscado con el valor central: 10 = 10, es igual, entonces se encontró.
Si hubiesen sido distintos, como no quedan más elementos, el valor buscado no está en la lista.
Escriba la función busqueda_binaria(lista, elemento)
que recibe una lista ordenada y un elemento que se desea encontrar. La función debe retornar True si encuentra el elemento
en la lista
utilizando una búsqueda binaria. Si no se encuentra retornar False
.
>>> búsqueda_binaria([0, 1, 3, 8, 14, 18, 19, 34, 52], 3)
True
>>> búsqueda_binaria([0, 1, 3, 8, 14, 18, 19, 34, 52], 17)
False