
En este artículo hablaremos de algunas formas que Python ofrece para manipular datos, estas son las listas, colecciones y diccionarios. También explicaremos algunos flujos de control, en el artículo anterior vimos como manejar los números y las cadenas de texto.
Python tiene siertas normas que debemos respestar una de ellas es que al codificar script python en funciones, clases, o cualquier estrucctura de control la identacion es muy importate, ya que no se usa
{}
como en otros lenguajes sino que son bloques identados. Un tabulador suele bastar pero de no ser asi PEP8 recomienda 4 espacios, ademas después de la declaración de una función debemos dejar dos espacios en blanco.
Listas
Son un tipo de datos compuestos que utiliza Python para agrupar otros valores conocidos como ítems, los Ítems puede ser de distintos tipos, se escriben estos ítems separados por coma (,)
encerrados en corchetes []
; Al igual que las cadenas y otros tipos, sequence
las listas poseen índices y pueden ser segmentadas, todas las operaciones de segmentación los resultados obtenidos son una shallow
copy de la lista en sí, además las listas pueden concatenarse, y puede agregar valores usando la función append()
, estos valores se añaden al final de la lista. La función len()
también está disponible para el conteo de ítems de una lista.
Métodos de una lista
append(x)
: Ya antes mencionado, se usa para añadir ítems a la lista.extend(iterable)
: Añade un elemento iterable a la listainsert(i, x)
: inserta un ítem en la posición dada el argumentoi
es la posición del elemento yx
su valor.mylist = [1,3.4] mylist.insert(1, 2) mylist # tiene [1,2,3,4]
remove(x)
: Elimina el primer ítem de la lista que contenga el valor dex
pop([i])
: Elimina y retorna el ítem de la lista, si no se pasa argumento se elimina y retorna el último elemento de la listaclear()
: Elimina todos los ítems de la listaindex(x,[start, end])
: Retorna él indicie basado en 0 donde su valor sea igual ax
, los parámetros opcionalesstart, end
permite segmentar la búsqueda.cont(x)
: cuenta la cantidad de veces quex
está en la lista.sort(*, key=None, reverse=False)
: Ordena los elementos de una lista, los argumentos se usan para personalizar el orden, esto es opcionalreverse()
: Invierte los elementos de una listacopy()
: Retorna una copia de la lista.- La palabra clave
del
se puede usar para eliminar una sección de la listadel milista[4]
Tuplas
Las tuplas son otro tipo de datos secuencial que Python pone sobre la mesa, consisten en ítems separados por comas, a diferencia de las listas estas no se encierran en corchetes sino entre paréntesis, aunque no es obligatorio en todos los casos; No es posible asignar a los ítems individuales de una tupla, pero, sin embargo, sí se puede crear tuplas que contengan objetos mutables, como las listas. Ya que las tuplas son inmutables.
Diccionarios
Los diccionarios son otro tipo de datos útil en Python, son del tipo mapa, si conoces los JSON, o los objetos JavaScript son muy parecidos. A diferencias de los tipos de datos secuenciales, los diccionarios son clave valor encerrado en llaves, {}
además tenemos la función dict()
es un constructor para crear diccionarios pasando clave valor como argumento, el único requerimiento de las claves es que no pueden ser listas y deben ser únicas, para declarar un diccionario vació se usa {}
, si deseamos borrar un par clave:valor de un diccionario utilizamos del
, para listar todas las claves de un diccionario utilizamos la función list(d)
en orden de inserción, para ordenarla usamos la función sorted(d)
en su lugar, para verificar si existe una clave en un diccionario usamos la palabra clave in
.
Existen otros tipos de datos, pero desde la perspectiva del autor de este artículo estos son los más utilizados.
Herramientas para Control de Flujo
La sentencia IF, ELIF, ELSE
Quizás sea la sentencias más usada en Python y casi cualquier lenguaje de programación, esta sentencia nos permite colocar condiciones indefinidas a un caso o grupo de casos específicos, la estructura de uso es if
(Si), elfi
(Sino si), else
(sino) para este condiciona lo único obligatorio es el if
, un bloque de esta sentencia puede contener o más de elif
que es una abreviatura de else if
de otros lenguajes de programación, de igual manera es else
puede contener 0 o más.
Ejemplo:
# Condicional
MyEdad = 2022 - 1990
if MyEdad < 18:
print("Eres Menor")
elif MyEdad > 55:
print("Eres Anciano")
else:
print("Eres Adulto")
# imprime Eres Adulto
La sentencia for
Es un poco diferente de otros lenguajes de programación, en Python esto itera sobre las secuencias directamente, en el orden que se especificó, itera sobre lista, cadenas, diccionarios, tuplas entre otras
# for
Mysequence = ['carro', 'avión', 'barco']
for n in Mysequence:
print(n, len(n))
# Imprime
# carro
# avión
# barco
Un diccionario posee algunas funciones que nos permiten iterar sobre ellos, la función items()
nos permite manipular clave:valor al mismo tiempo, en el caso de una secuencia podemos usar, enumerate()
la cual nos permite iterar sobre index, ítems al mismo tiempo, en caso de que querremos trabajar con dos secuencias al mismo tiempo contamos con la función zip()
#Iterando sobre un dicc
users = {'Nombre': 'Frang', 'Apellido': 'Pérez'}
Mysequence = ['carro', 'avión', 'barco']
for n, v in users.items():
print(n,v)
# Imprime
# Nombre Frang
# Apellido Pérez
for i, v in enumerate(Mysequence):
print(i,v)
# Imprime
# 0 carro
# 1 avión
# 2 barco
Si necesita iterar sobre un rango de números podemos usar range()
, se le pasa como argumento el valor inicial y el valor final.
Mysequence = ['carro', 'avión', 'barco']
for i in range(2, 6):
print(i)
# Imprime 2 3 4 5
for i in range(len(Mysequence)):
print(i, Mysequence[i])
# Imprime
# 0 carro
# 1 avión
# 2 barco
La sentencia while
Esta sentencia se usa para la ejecución repetida siempre que una expresión sea verdadera. Su flujo es inicio > condición si es verdadero fin (o al else) si no repite el bloque.
nm = int(input("Cuanto es 5 + 25: "))
while nm != 30:
print("Incorrecto")
nm = int(input("Cuanto es 5 + 25: "))
else:
print("Exelente")
Las sentencias break
, continue
, y else
en bucles
En los bucles Python nos ofrece algunas palabras claves que nos ayudan a mejorar y controlar los recorridos.
La sentencia break
se usa para finalizar un bucle, la sentencia continue
continua con la siguiente iteración del ciclo
La sentencia else
en los bucles funciona de igual manera que en los if
, en un while
si la condición no se cumple se ejecuta el else
y finaliza el bucle, de igual manera trabaja en el for
La sentencia match
Esta sentencia se comporta igual a la sentencia switch
de otros lenguajes de programación como JavaScript, lo que hace es comparar una expresión con una cantidad determinada de casos sucesivos
Podemos usa el símbolo |
para colocar múltiples condiciones en un case
case 401 | 403 | 404:
return "Not allowed"
Existen otras estructuras de control y usos más avanzados a los aquí presentados, pero como esto es un tutorial básico no entraremos en esos detalles,
Si deseas añadir algo comenta, tus ideas son importante, si deseas apoyarme, comparte este tutorial y cada una de sus partes.
Continuar con Tutorial Python parte 3 (Funciones y Módulos parte 1)
Comentarios
Publicar un comentario