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

PyQuiz 1 - asignaciones en slices

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 range

Conceptos 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!


Tutorial Python online

Aprender Python de forma gratuita siguiendo las secciones del tutorial de Python.


Libros recomendados para aprender Python

Estos son los libros que pueden ayudarte a aprender Python, aprender a programar, tipos de datos, algoritmia y mucho más.

Libro Python a fondo Disponible en:

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Oscar Ramirez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento: No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a ionos (1&1) que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Publicar un comentario

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para fines de afiliación y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver Política de cookies
Privacidad