Ubunlog Diego Germán González  

Curso de programación en Python usando Linux. Octava parte

Curso de programación en Python

Continuando con nuestro curso de programación en Python usando Linux emprenderemos tareas de mayor complejidad. Empezaremos a trabajar con datos y a crear fragmentos de programas reutilizables. en otras aplicaciones.

Python, como la mayoría de los lenguajes de programación modernos, puede trabajar con la mayoría de los motores de bases de datos. Pero ese es un tema que excede los límites de este curso por lo que nos enfocaremos en el guardado de datos dentro del código de la aplicación.

Curso de programación en Python usando Linux

Listas, tuplas y diccionarios

Existen varios métodos de guardar valores en variables además de la asignación individual

Listas

Las listas son colecciones de elementos que cuentan con las siguientes caracteristicas:

  • Son ordenadas: Cada elemento de as listas tienen una posicion que se indica con un índice. El prmer elemento de la lista tiene el índice 0.
  • Son modificables: Se pueden agregar, eliminar o modificar elementos
  • Soporta dstintos tipos de elementos incluso otras listas.
  • Los elementos de una lista se incluyen entre corchetes separados por comas.

distribuciones = [Ubuntu, Debian, Fedora, Linux Mint]

Mostramos el elemento  de una posición específica indicando su índice

print(distribuciones[0])
Esto muestra Ubuntu

Mientras que con print(distribuciones) vemos toda la lista.

Podemos agregar un elemento al final de la lista con el comando append:

distribuciones.append("Arch Linux")

Podemos elimnar el elemento con el comando remove

distribuciones.remove("Fedora")

Otra variante para eliminar elementos de una lista es el comando pop.
distribuciones.pop() Si no proporcionamos número de índice borra el último.
También se puede modifcar un elemento indicando su numero de índice

distribuciones[1] = "Manjaro"

Podemos unir dos listas agregado una al final de la otra con el comando extend

distribuciones = [Ubuntu, Debian, Fedora, Linux Mint]

windows = [XP, Vista, 7, 8]

distribuciones.extend(windows)

print(distribuciones)

Para saber en que lugar aparece por primera vez un elemento en una lista se usa el comando index

distribuciones = [Ubuntu, Debian, Fedora, Linux Mint]

indice = distribuciones.index("Fedora")

print (indice)

Si queremos saber cuántas veces aparece un elemento en una lista. Lo hacemos con el método count

distribuciones = [Ubuntu, Debian, Fedora, Linux Mint, Debian]

indice = distribuciones.count ("Debian")

print (distribuciones)

Si estudiaste Contabilidad, seguramente habrás oído hablar de un método llamado último entrado primero salido. Bueno, básicamente eso es lo que hace reverse que permite mostrar la lista en el orden inverso al que se ingresaron los elementos.

distribuciones = [Ubuntu, Debian, Fedora, Linux Mint]

distribuciones.reverse ()

print (distribuciones)

Para ordenar los elementos en orden alfabético (O ascendente si se trata de valores núméricos) tenemos el método sort.

distribuciones = [Ubuntu, Debian, Fedora, Linux Mint]

distribuciones.sort()

print (distribuciones)

Podemos eliminar todos los elementos de una lista Lo hacemos con el comando clear

distribuciones = [Ubuntu, Debian, Fedora, Linux Mint]

distribuciones.clear()

Tuplas

Las tuplas tienen las mismas características que las listas salvo una muy importante diferencia. No se pueden modificar. Esto las hace ideales para trabajar con datos que no queremos que se modifiquen por error o mala voluntad.

Por una cuestión de prolijidad los elementos de las tuplas se guardan entre paréntesis aunque no es necesario hacerlo .

distribuciones = (Ubuntu, Debian, Fedora, Linux Mint)

o

distribuciones = Ubuntu, Debian, Fedora, Linux Mint

Métodos de las listas que funcionan con las tuplas

  • index(): indica la posición en la que aparece por primera vez un elemento empezando desde el 0
  • coun(): Cuenta la cantidad de veces que aparece un elemento.

Métodos de las listas que no funcionan con las tuplas:

append() e insert() : No es posible agregar elementos a una tupla una vez creada.

  • remove() y pop(): No es posible eliminar elementos una vez establecida la tupla.
  • extend(): No se permiten combinar tuplas.
  • reverse() No está premitido alterar el orden de los elementos de la tupla.
  • sort(): Por la misma naturaleza de la tupla no se puede ordenar alfabéticamente.
  • clear(): Por las razones que expusimos, tampoco se ueden eliminar los elementos de la tupla.

De todas formas, es posible convertir entre tuplas y listas ya que Python nos ofrece dos metodos para hacerlo. O, para ser mas exactos, asignar a una nueva tupla los elementos de una lista y los elementos de una lista a una nueva tupla.

Crear una nueva tupla a a partr de una lista existente

Se usa la instrucción tuple

distribuciones = [Ubuntu, Debian, Fedora, Linux Mint]
tupla_distribuciones = tuple(distribuciones)
Crear una nueva lista a partir de una tupla existente)

Se hace con la instrucción list
windows = (XP, Vista, 7, 8, 10, 11)
lista_windows = list(windows)

Accediendo a listas y tuplas por partes

Utlizando los indices es posible acceder en forma parcial a las listas y tuplas

Esto se hace indicando los siguientes parámetros

  • Inicio: a partir de que posición debe tomar el elemento (Recuerda que el primer elemento ocupa la posición 0)
  • Fin: el último elemento que se debe consider.
  • Paso: cuantos elementos debe saltarse antes de pasar al siguiente.

De esta forma podemos:

  • Acceder a datos que cumplan determinada condición.
  • Acceder a parte de una lista o tupla.
  • Invertir el orden en listas o tuplas.

distribuciones = ["Debian", "Ubuntu", "Fedora", "Manjaro", "Linux Mint"]
Podemos obtener los primeros elementos.
print(distribuciones[0:3])
Los elementos hasta una posición específica
print(distribuciones[:3])
Desde una posición hasta el final
print(distribuciones[2:])
Elegir elementos saltándose algunos:
print(distribuciones[::3])

DiccionarioS

Un diccionario es una estructura de datos que establece relaciones entre dos tipos de elementos. Al igual que en el diccionario de la RAE cada palabra está relacionada con su desfinición correspondiente, en los diccionarios Python a cada clave le corresponde un valor. Por ejemplo,  si estamos creando una base de datos de personas a la clave DNI le va a corresponder un nombre.

En Python para definir diccionarios se encierran los elementos con llaves

Las claves cumplen la msma funcion que cmplen los índices en las listas y tuplas. Solo que deben ser inmutables. Los valores asociados pueden ser cualquier tipo de datos.
distribucion = {
"nombre": "Linux Mint",
"base": "Ubuntu",
"escritorio": "Cinnamon",
"version": 22
}

Resumiendo: Las características de los diccionarios son:

  • A cada clave le corresponde un valor asociado. La clave es única, el valor asociado puede repetirse.
  • La clave permite acceder en forma rápida al valor aunque haya un gran número de datos.
  • Después de crear el diccionario es posible agregar, eliminar y modificar pares clave / valor.
  • Las modernas versiones de Python mantienen el orden en que los pares fueron ingresados.

Los métodos de trabajo de los diccionarios son:

    •  get() Devuelve el valor asignado a la clave indicada entre los paréntesis. Si no existe devuelve none o un valor ndicado en el código. La sintaxis es diccionario.get("clave")

<li>keys(): Muestra una lista de todas las claves del diccionario. La sintaxis es:  diccionario.keys()</li>

  • values(): Devuelve una lista de todos los valores del diccionrio Sntaxis diccionario.values()
  • items(): Devuelve una lista de todos los pares que integran el diccoario en forma de tupla. La sintaxis es diccionario.items()
  • pop() Si existe elimina y devuelve el valor asociado a la clave indicada. Caso contrario muestra mensaje de error. diccionario.pop(«edad»)
  • popitem(): Elimina y devuelve el último par ingresado. La sintaxis es diccionario.popitem()
  • update(): Actualiza el diccionario con datos de otro dicconario diccionario.update({«clave»:»definición»})
  • clear(): Elimina todos los elementos del diccionario  Sintaxis: diccionario.clear()
  • copy(): Hace una copia del diccionario:  nuevo_diccionario = diccionario.copy()

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.