25 PYTHON Parte 3
25 PYTHON Parte 3
25 PYTHON Parte 3
Crear listas
Se crean al asignar a una variable una secuencia de elementos encerrados entre corchetes [] y
separados por comas. Los corchetes pueden estar juntos, creando una lista vacía.
sublista= [[1,2,3,],[4,5,6]] PY
Sublista Sublista
Listas | Acceso por subíndice
• El acceso a los elementos se usa el subíndice, el primer elemento siempre lleva el subíndice
cero.
• Usar un subíndice negativo hace que la cuenta comience desde atrás.
• Usar subíndices fuera de rango genera un error: out of range
5 7 4 4 5 6 2 6 1
0 1 2 3 4 5 6 7 8
-9 -8 -7 -6 -5 -4 -3 -2 -1
Listas | Impresión
• Se pueden imprimir con un ciclo while o for.
• También pueden imprimirse directamente.
numeros= [1,2,3,4,5] PY
print(numeros)
Listas | Operador In para iterar listas
• Podemos iterar utilizando el subíndice, utilizando un contador, while y len para generar la
secuencia de índices:
def SumarLista(lista): PY
suma = 0
for i in range(len(lista)):
suma = suma + lista[i]
return suma
• Podemos iterar en forma directa los elementos de la lista, sin necesidad de generar la secuencia
de subíndices. En este caso la variable i toma el elemento de la lista.
vocales=['a','e','i','o','u'] PY
for i in vocales:
print(i, end="-") terminal
a-e-i-o-u-
Listas | Desempaquetado
• Consiste en asignar sus elementos a un conjunto de variables:
Listas | Operaciones
• Las listas pueden concatenarse con el operador suma:
lista1= [1,2,3] PY
lista2= [4,5,6]
lista3= lista1 + lista2
print(lista3) #[1,2,3,4,5,6]
Listas | Operaciones (continuación)
• La concatenación nos permite agregar elementos nuevos a la lista:
lista=[3,4,5] PY
lista= lista + [6] #[3,4,5,6]
El elemento debe encerrarse entre corchetes para que sea una lista.
lista=[3,4,5,6] PY
print(max(lista)) # 6
Para utilizar max(), min()
print(min(lista)) # 3
y sum() la lista debe ser
print(sum(lista)) # 18 homogénea
• La función list() convierte cualquier secuencia a una lista. Se puede utilizar con rangos, cadenas
y algunos más…
lista= list(range(6)) PY
print(lista) #[0,1,2,3,4,5]
• El operador in permite verificar la presencia de un elemento, mientras que la ausencia de un
elemento se comprueba con not in:
lista=[3,4,5,6] PY
print(4 in lista) #True
print(8 in lista) #False Devuelven True o False
Listas | Métodos
Un método es un procedimiento o función que pertenece a un objeto. Permiten manipular los
datos almacenados en él y se escriben luego del nombre del objeto, separados por un punto.
o append(): Agrega un elemento al final de la lista.
lista=[3,4,5] PY
lista.append(6)
print(lista) #[3,4,5,6]
o insert(<pos>, <elemento>): Inserta un elemento en una posición determinada de la lista.
lista=[3,4,5] PY
lista.insert(0,2) #Agrega en la posición 0 el número 2
print(lista) #[2,3,4,5]
lista.insert(3,25) #Agrega en la posición 3 el número 25
print(lista) #[2,3,4,25,5]
Listas | Métodos (continuación)
o pop(): Elimina el último elemento de la lista.
lista=[6,9,8] PY
lista.pop() # queda [6,9]
lista=[3,4,5] PY
lista.reverse()
print(lista) #[5,4,3]
Listas | Métodos (continuación)
o sort (): Ordena los elementos de la lista.
lista=[5, 1, 7, 2] PY
lista.sort()
print(lista) #[1,2,5,7]
o sort (reverse=True): Con parámetro reverse en True, ordena la lista de mayor a menor.
lista=[5, 1, 7, 2] PY
lista.sort(reverse=True)
print(lista) #[7,5,2,1]
lista=[3,4,5] PY
lista.clear()
print(lista) #[]
Cadenas de caracteres
Una cadena de caracteres (string) es una secuencia de caracteres. Python soporta caracteres
regionales como ñ y vocales con tilde.
Podemos declarar una cadena de caracteres con comillas simples o comillas dobles:
cad1= "Lunes" PY
cad2= 'Martes'
Una constante de cadena extensa puede ser distribuida en varias líneas con barra invertida \
marca="Alfa Romeo" PY
frase= 'Dijo "me encanta programar" y comenzó a' \
"estudiar ingeniería en sistemas"
También se permite utilizar otro tipo de comillas en la misma cadena
edad= 25 PY
mensaje= "La edad es: "+ str(edad) # La edad es: 25
altura= 1.75
mensaje= "La altura es: "+ str(altura) # La altura es: 1.75
Replicación: Podemos replicar una cadena con *
risa='ja' PY
carcajada= risa*5
print(carcajada) #jajajajaja
asteriscos= "*"*10
print(asteriscos) #**********
Cadenas de caracteres (continuación)
Comparación: Se pueden comparar como cualquier otra variable con ==
terminal
Ingrese su pais de nacimiento: argentina
La nacionalidad NO es Argentino
Es case sensitive: distingue entre mayúsculas y minúsculas
cad="Miércoles" PY
print(cad[1:5])
terminal
iérc
cad="Miércoles" PY
print(len(cad))
terminal
9
Cadenas de caracteres: Funciones (continuación)
In / Not In: Se pueden utilizar para saber si una subcadena se encuentra o no en una cadena:
cad="Jueves" PY
if "ve" in cad:
print("se encuentra en la cadena")
else:
print("no se encuentra en la cadena")
if "iércol" in cad:
print("se encuentra en la cadena")
else:
print("no se encuentra en la cadena")
cad="12345" PY
cad='-'.join(cad)
print(cad) #1-2-3-4-5
<cadena>.split(<sep>): Divide una cadena en una lista, buscando sep como separador:
cad="Programando en Python" PY
lista= cad.split(' ')
print(lista) #['Programando', 'en', 'Python']
cad="Python" PY
cad2="python"
print(cad.isupper()) # False
print(cad2.islower()) # True
print(cad2.upper()) # PYTHON
print(cad.lower()) # python
Cadenas de caracteres: Métodos (continuación)
<cadena>.capitalize(): Devuelve una cadena convertida a mayúscula sólo el primer caracter de
la primer palabra y el resto en minúsculas.
<cadena>.title(): Devuelve una cadena convertida a mayúscula el primer caracter de cada
palabra y el resto en minúsculas.
cad1="Hola" PY
cad2=cad1.center(10,"*")
print(cad2) # ***Hola***
Cadenas de caracteres: Métodos (continuación)
<cadena>.ljust(<ancho>,[relleno]): Devuelve una cadena alineada a la izquierda en el ancho
especificado. El fin de la cadena se rellena con espacios o con el caracter relleno.
<cadena>.rjust(<ancho>,[relleno]): Devuelve una cadena alineada a la derecha en el ancho
especificado. El comienzo de la cadena se rellena con espacios o con el caracter relleno.
cad1="Hola" PY
cad2=cad1.ljust(10, '-')
cad3=cad1.rjust(10, '-')
print(cad2) # Hola------
print(cad3) # ------Hola
<cadena>.strip(<str>): Devuelve una cadena sin los caracteres indicados en str al inicio y al final
de la cadena.
cad="---Hola-Mundo----" PY
cad= cad.strip("-")
print(cad) #Hola-Mundo
Cadenas de caracteres: Métodos (continuación)
<cadena>. find(<str>,[[inicio],[fin]]): Devuelve la posición donde encuentra str en la cadena. Si
no lo encuentra devuelve -1 (index devuelve error). Se puede indicar los subíndices desde y hasta
a buscar.
<cadena>. rfind(<str>,[[inicio],[fin]]): Similar al find pero busca la última aparición.
cad="---Hola-Mundo----" PY
pos= cad.find("Mundo")
print(pos) #8
cad="---Hola-Mundo--Mundo--"
pos= cad.rfind("Mundo")
print(pos) #15 (última aparición de Mundo)
Cadenas de caracteres: Formato
%formato: Disponible desde el inicio de Python.
<str>.format(<datos>): A partir de Python 2.6
legajo= 12212 PY
nombre= "María"
nota= 10
#%-formato
print("Legajo: %d Nombre: %s Nota: %d" %(legajo,nombre,nota))
print("Legajo: {} Nombre: {} Nota: {}".format(legajo,nombre,nota))
f-string (PEP498): El prefijo f permite dar formato a una cadena de caracteres. Ejemplo:
#f-string PY
print(f"Legajo: {legajo} Nombre: {nombre} Nota: {nota}")
El resultado es el mismo que en el caso anterior
Tuplas
Conjunto de elementos separados por comas y encerrados entre paréntesis. Los paréntesis no
son obligatorios. Estas son inmutables y en general contienen una secuencia heterogénea de
elementos. Los elementos pueden ser mutables. Ejemplos:
() # tupla vacía
'un valor', # tupla con un valor
('uno', 'dos', 'tres') # cadenas
('Palotes, Juan de', (1930, 11, 13), 3000936) # datos de persona
'Palotes, Juan de', (1930, 11, 13), 3000936 # datos de persona
Creación: Por extensión. Los elementos se enumeran. Ejemplo: tupla = ('uno', 'dos', 'tres')
Empaquetado (zip): Se asigna a la tupla una enumeración de variables o valores. Ejemplo:
tupla = 'Palotes, Juan de', (1930, 11, 13), 3000936
Desempaquetado (unpack): Se asigna los valores de una tupla a un conjunto de variables. una
enumeración de variables o valores. requiere que la cantidad de variables a la izquierda del signo
igual sea el tamaño de la tupla. Ejemplo:
nombre, nacimiento, dni =( 'Palotes, Juan de', (1930, 11, 13), 3000936)
Tuplas: Accesos
Puede accederse:
• Desempaquetando
• Con un índice, comenzando de la posición 0
• Por método rebanada o Slicing tupla[comienzo:fin:salto]
Ejemplos:
tupla = ('Palotes, Juan de', (1930, 11, 13), 3000936) PY
nombre, fecha, dni = tupla
print('Nombre: ', nombre, '. Fecha nac.: ', fecha, '. DNI: ', dni)
print('Nombre: ', tupla[0], '. Fecha nac.: ', tupla[1], '. DNI: ', tupla[2])
print(tupla[::])
Nombre: Palotes, Juan de . Fecha nac.: (1930, 11, 13) . DNI: 3000936 terminal
Nombre: Palotes, Juan de . Fecha nac.: (1930, 11, 13) . DNI: 3000936
('Palotes, Juan de', (1930, 11, 13), 3000936)
Conjuntos
Conjunto de elementos únicos y no ordenados separados por comas y encerrados por llaves. Los
elementos no pueden ser mutables. Ejemplos:
{} # diccionario vacío
{'Juan': 56} # diccionario de un elemento
{'Juan': 56, 'Ana': 15} # diccionario de dos elementos
Creación:
• Por extensión. Los elementos se enumeran.
• Por compresión.
# Creación: Por extensión
diccionario = {'Juan': 56, 'Ana': 15}
# Creación: Por compresión
diccionario = {x: x ** 2 for x in (2, 4, 6)}
Diccionarios: Accesos
Puede accederse:
• A las claves, utilizando método keys()
• A los valores, utilizando la clave como índice
• A la clave-valor, utilizando método ítems()
• No es posible obtener porciones de un diccionario usando [:],
ya que las claves no tienen.