edu.alceres.com

Matemáticas con Python -Clase IX-

Contenedores o estructuras de datos

Python incluye varios tipos de contenedores integrados: cadenas, listas, diccionarios, conjuntos y tuplas.

Cadenas

Las cadenas son un tipo de estructuras de datos en que los elementos se encierran entre comillas dobles o sencillas, pero no mezcladas. Por ejemplo

mascota = "gato"       vahiculo= 'Moto'       vivienda = 'apartamento'

Las cadenas son inmutables, en el sentido que no pueden agregarse o quitarse caracteres.

Así al crear una cadena con la palabra 'perro', tenemos:

En la línea 2 se imprime toda la lista, luego en la línea 3 se imprime el segundo elemento.

Observe que inicia en cero, por eso con el comando a[1] se está llamando al elemento en la posición 1, que es la 'e'.

Las posiciones de cada elemento se enumeran bien de izquierda a derecha desde cero, o de derecha a izquierda desde -1:

Obtener una serie de elementos de una lista con ':'

Se pueden obtener una serie de elementos con ':' de la forma:

lista[inicio:final-1]. Observe los ejemplos (se enumera e imprime también la línea de código para facilitar el análisis):

Longitud de una cadena -len(cadena)-

Para encontrar la longitud de una cadena de caracteres, se utiliza la función len(cadena). Veamos algunos ejemplos:

Se imrpimen la longitud de ambas cadenas y luego se imprime una nueva cadena resultado de la concatenación de las dos anteriores, además se agrega la cadena 'el ' y luego se agrega una cadena vacía ' ' para que haya espacio entre las cadenas

Separación de una cadena

Así como se pueden concatenar varias cadenas con el signo +, también se pueden separar con la función split() mediante la forma:

$cadena.split(subcadena)$

donde subcadena es una porción de la cadena. Si no se coloca nada como subcadena, se utiliza el espacio en blanco

Veamos un ejemplo:

Ahora al separar con la subcadena 'e', se tiene

Ahora analice el siguiente código:

Las cadenas se pueden multiplicar $n*cadena$ con $n$ entero, observe el siguiente código:

Métodos en las cadenas

Método      Descripción
capitalize() Convierte el primer carácter a mayúscula
casefold() Convierte una cadena a minúscula
center() Devuelve una cadena centrada
count() Devuelve el número de veces que aparece un valor específico en una cadena
encode() Devuelve una versión codificada de la cadena
endswith() Devuelve verdadero si la cadena termina con el valor especificado
expandtabs() Establece el tamaño de tabulación de la cadena
find() Busca un valor específico en la cadena y devuelve la posición donde se encontró
format() Formatea los valores especificados en una cadena
format_map() Formatea los valores especificados de un diccionario en una cadena
index() Busca un valor específico en la cadena y devuelve la posición donde se encontró
isalnum() Devuelve verdadero si todos los caracteres de la cadena son alfanuméricos
isalpha() Devuelve verdadero si todos los caracteres de la cadena son del alfabeto
isascii() Devuelve verdadero si todos los caracteres de la cadena son caracteres ASCII
isdecimal() Devuelve verdadero si todos los caracteres de la cadena son decimales
isdigit() Devuelve verdadero si todos los caracteres de la cadena son decimales son dígitos
isidentifier() Devuelve verdadero si la cadena es un identificador
islower() Devuelve verdadero si todos los caracteres de la cadena están en minúscula
isnumeric() Devuelve verdadero si todos los caracteres de la cadena son numéricos
isprintable() Devuelve verdadero si todos los caracteres de la cadena son imprimibles
isspace() Devuelve verdadero si todos los caracteres de la cadena son espacios en blanco
istitle() Devuelve verdadero si la cadena sigue las reglas de un título
isupper() Devuelve verdadero si todos los caracteres de la cadena están en mayúscula
join() Convierte los elementos de un iterable en una cadena
ljust() Devuelve una versión justificada a la izquierda de la cadena
lower() Convierte una cadena a minúsculas
lstrip() Devuelve una versión recortada a la izquierda de la cadena
maketrans() Devuelve una tabla de traducción para usar en las traducciones
partition() Devuelve una tupla donde la cadena se divide en tres partes
replace() Devuelve una cadena donde un valor especificado se reemplaza por otro valor especificado
rfind() Busca un valor especificado en la cadena y devuelve la última posición donde se encontraba encontrado
rindex() Busca un valor específico en la cadena y devuelve la última posición donde se encontró.
rjust() Devuelve la cadena alineada a la derecha.
rpartition() Devuelve una tupla donde la cadena se divide en tres partes.
rsplit() Divide la cadena en el separador especificado y devuelve una lista.
rstrip() Devuelve la cadena recortada a la derecha.
split() Divide la cadena en el separador especificado y devuelve una lista.
splitlines() Divide la cadena en los saltos de línea y devuelve una lista.
startswith() Devuelve verdadero si la cadena comienza con el valor especificado.
strip() Devuelve la cadena recortada.
swapcase() Intercambia mayúsculas y minúsculas: de minúsculas a mayúsculas y viceversa.
title() Convierte el primer carácter de cada palabra a mayúscula.
translate() Devuelve la cadena traducida.
upper() Convierte una cadena a mayúsculas.
zfill() Rellena la cadena con un número específico de ceros al principio.

Ya se han visto algunos de estos métodos, como upper() en el tema de los condicionales.

Condicionales sobre una cadena

Se quiere revisar si está un niño en la lista que ha hecho su profesora:

En la variable SiEsta se toma el nombre del niño, se lleva a mayúscula el primer caracter ya que así se encuentran los nombres en la cadena micadena que hizo la profesora con los mejores.

Ciclos en cadenas

Los ciclos se pueden usar en las cadenas, y en este caso se ejecuta el ciclo de acuerdo a la cantidad de caracteres que tiene la cadena. Observe el siguiente código:

La letra 'a' está repetida, cómo influye esto?