Tuple vs List: semántica, hashabilidad y rendimiento
Tuple representa un registro con campos posicionales fijos; list, una colección homogénea variable. Conocer esa diferencia semántica cambia cómo diseñas estructuras de datos en Python.
Tuple representa un registro con campos posicionales fijos; list, una colección homogénea variable. Conocer esa diferencia semántica cambia cómo diseñas estructuras de datos en Python.
Cómo funciona lista[inicio:fin:paso] internamente, asignación a slices, el objeto slice explícito y __getitem__ con slices en clases propias.
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.