Python - colecciones

La clase str

Como ya se ha explicado, la clase str se utiliza para representar datos textuales en Python. Esta clase proporciona un conjunto de métodos, de los que se presentan algunos ejemplos a continuación.

# str.capitalize(): retorna una copia de 'str' con el primer carácter en mayúscula y el resto en minúscula.
'hola'.capitalize()
'Hola'
# str.lower(): retorna una copia de 'str' con todos los caracteres en minúscula
'HOLA'.lower()
'hola'
# str.count(sub[, start[, end]]): retorna el número de hileras no traslapadas de la subhilera 'sub' 
# en el rango [start, end], el cual es opcional, de 'str'.

cita_socrates = 'Yo solo sé, que no sé nada'
cita_socrates.count('sé') # se cuentan todas las ocurrencias de 'sé'
2
cita_socrates.count('sé', 0, 10) # se cuentan solo las ocurrencias ubicadas en el rango [0, 10]
1
# str.find(sub[, start[, end]]): retorna el índice menor en donde se encuentra 'sub'
# en el rango [start, end] de 'str'

'Yo solo sé, que no sé nada'.find('solo')
3
# str.replace(old, new[, count]): retorna una copia de 'str' con todas las ocurrencias
# de la subhilera 'old' reemplazadas por 'new'. 
# Si 'count' es especificado, solo se reemplazan las primeras 'count' ocurrencias de 'old'
cita_socrates.replace("solo", "solamente")
'Yo solamente sé, que no sé nada'

Formateo de hileras

Se implementa a través del método str.format(). Pueden verse varios ejemplos en https://pyformat.info/.

# Formateo de números enteros
'La suma de 3 + 4 es {} y la resta de 10 - 6 es {}'.format(7, 4)
'La suma de 3 + 4 es 7 y la resta de 10 - 6 es 4'
# Formateo de un número en punto flotante (6 caracteres, 4 después del punto decimal)
'La relación entre la longitud de una circunferencia y su diámetro es {:6.4f}'.format(3.141592653589793)
'La relación entre la longitud de una circunferencia y su diámetro es 3.1416'
# Formateo de fecha y hora
from datetime import datetime
'{:%d/%m/%Y %H:%M}'.format(datetime(2001, 2, 3, 4, 5))
'03/02/2001 04:05'

La clase list

La clase list implementa secuencias mutables (i.e. modificables) de objetos que se especifican como ítems separados por comas y encerrados entre paréntesis cuadrados.

Se presentan a continuación algunos ejemplos de operaciones y métodos de la clase list, los cuales son comunes a todas las clases de secuencias mutables:

lista = [10, 20, 30, 40, 50]
# Reemplazo de un ítem con base en su posición
lista[2] = 300
lista
[10, 20, 300, 40, 50]
# Borrado de un ítem con base en su posición
del lista[4]
lista
[10, 20, 300, 40]
# list.append(x): agrega 'x' al final de 'list'
lista.append(50)
lista
[10, 20, 300, 40, 50]
# list.insert(i, x): inserta 'x' en al posición 'i'
lista.insert(4, 45)
lista
[10, 20, 300, 40, 45, 50]

La clase dict

La clase dict implementa un conjunto de pares ordenados de la forma atributo:valor. Por ejemplo:

persona = {"cedula":"408730281", "nombre":"Juan", "apellido":"Pérez"}

Ejemplos de operaciones y métodos de la clase dict:

# Retorno de valor correspondiente a una llave
persona["cedula"]
'408730281'
# Asignación de un valor a una llave
persona["nombre"] = "María"
persona
{'cedula': '408730281', 'nombre': 'María', 'apellido': 'Pérez'}
# Verificación de si una llave existe
"apellido" in persona
True
# dict.items(): retorna los ítems (pares (llave, valor)) de 'dict'
persona.items()
dict_items([('cedula', '408730281'), ('nombre', 'María'), ('apellido', 'Pérez')])
# dict.keys(): retorna las llaves de 'dict'
persona.keys()
dict_keys(['cedula', 'nombre', 'apellido'])
# dict.values(): retorna los valores de 'dict'
persona.values()
dict_values(['408730281', 'María', 'Pérez'])
# dict.get(key[, default]): retorna el valor de la llave 'key' en 'dict'
persona.get("apellido")
'Pérez'