Listas en Python: dynamic arrays, complejidad y métodos
Las listas de Python son dynamic arrays con operaciones de costo muy distinto: append es O(1) amortizado, insert(0,x) es O(n), y sort usa Timsort estable.
Las listas de Python son dynamic arrays con operaciones de costo muy distinto: append es O(1) amortizado, insert(0,x) es O(n), y sort usa Timsort estable.
Cómo funciona la traducción entre str y bytes en Python, qué encodings encontrarás en producción y cómo manejar UnicodeDecodeError y UnicodeEncodeError sin silenciar datos.
Cómo Python 3 separa texto Unicode de datos binarios, por qué el encoding es el único puente válido y cuándo cada tipo es obligatorio.
Los métodos esenciales de str en Python: limpieza, búsqueda, división, unión, transformación y codificación con casos reales.
Domina las f-strings de Python: expresiones arbitrarias, especificadores de formato, separadores de miles y el operador = para debugging rápido.
Cómo acceder a caracteres por posición e índices negativos, extraer subcadenas con slicing y usar el parámetro paso, respetando la inmutabilidad de los strings.
En Python 3 un `str` es una secuencia inmutable de code points Unicode; `len()` cuenta caracteres, no bytes, y CPython optimiza la memoria internamente según el contenido.
`b = a` no copia el objeto, crea un alias. Aprende a detectarlo con `is` y a romperlo con copias superficiales o profundas según la estructura de tus datos.
Qué significa que un objeto sea mutable o inmutable, cómo afecta a las referencias compartidas y por qué la inmutabilidad es requisito para ser clave de diccionario.
Desempaquetado de iterables en asignaciones, bucles y llamadas a funciones, incluyendo * extendido y anidado.