Python incluye varios tipos de contenedores integrados: cadenas, listas, diccionarios, conjuntos y tuplas.
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:
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):
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
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é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.
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.
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?