Python Quiz 1 – Asignación de Slicing en listas en Python

Pregunta principal del pyquiz:
>>> lst = ['h', 34, 2.3]
>>> lst[2:5] = ['pepe']
>>> print(lst)
- ?? -
# A - AttributeError
# B - ['h', 34, 'pepe']
# C - ['h', 34, 2.3]Concepto y explicación
En esta pregunta se hace una asignación de una lista sobre una sublista inicial (slicing)
La sublista comprende sólo el elemento 2.3:
>>> lst = ['h', 34, 2.3]
>>> lst[2:5]
[2.3]
>>> lst[5]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of rangeConceptos aplicados:
- La sublista comprendida entre los elementos 2 y 5 es solo
[2.3]. - Python soporta que los índices estén fuera del rango permitido. Aunque haya solo 3 elementos, se puede intentar acceder a un rango superior de 3 cuando se hace slicing.
- Si se intenta acceder al elemento 5, provoca un error dado que sólo hay 3 elementos en la lista.
Dado que el único elemento del slicing es 2.3, se le asigna a la lista que lo envuelve la lista ['pepe'], quedando como resultado el siguiente:
>>> lst[2:5]
[2.3]
>>> lst[2:5] = ['pepe']
>>> lst
['h', 34, 'pepe']Solución
Por tanto la solución correcta es la B, en dado que el elemento 3 ([2.3]) es reemplazado por la lista ['pepe'].
B) [‘h’, 34, ‘pepe’]
Practica Python con PyQuizzes
En la sección de PyQuizzes puedes encontrar ejercicios prácticos explicados pormenorizado para mejorar tus habilidades como pythonista. ¡No te los pierdas!
📥 Llévate el cheatsheet de Python (gratis)
PDF de 6 páginas con lo esencial: tipos, condicionales, bucles, estructuras de datos, funciones y los errores que más vas a cometer. Para tener al lado mientras programas.
Sin spam. Te apuntas a la lista, descargas el cheatsheet y recibes contenido de Python cada semana.
Tutorial Python online
Aprender Python de forma gratuita siguiendo las secciones del tutorial de Python.
¿Quieres aprender Python en orden, no a saltos?
Esto que has leído es solo una pieza. En El Pythonista lo verás todo encadenado: 11 módulos, 37+ horas de vídeo, 734 actividades y un proyecto real (MovieTracker) que crece contigo desde la primera variable hasta el deploy a producción.
37+ horas · 734 actividades · Proyecto real · Acceso de por vida · 14 días de garantía











