`if`, `elif`, `else` y el operador ternario en Python
Condiciones con truthiness, condiciones compuestas con and/or/not, elif como alternativa a else/if anidado y la sintaxis del operador ternario.
Condiciones con truthiness, condiciones compuestas con and/or/not, elif como alternativa a else/if anidado y la sintaxis del operador ternario.
Diferencias de memoria y uso entre generator expressions y list comprehensions en Python, cuándo elegir cada una y la limitación del recorrido único.
Sintaxis completa, comprehensions anidadas, dict y set comprehensions, y cuándo preferir un bucle for convencional.
Colecciones únicas respaldadas por hash table: operadores de conjunto, mutación segura con discard, búsquedas O(1) y frozenset como versión hashable.
Cómo CPython implementa dicts con dos arrays separados, por qué eso garantiza orden de inserción, y qué contratos debe cumplir una clave hashable.
Cómo funciona la hash table detrás de los dicts, por qué el orden está garantizado desde Python 3.7, y cómo usar métodos clave y comprehensions.
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.