1
respuesta

Duda

Hola!!

Quería preguntar sobre el significado de un bloque de código. Si tengo que l = [12, 45, 12, 999, 10, 8, 76, 20, 10, 10, 7, 70, 17]

Para calcular la mediana, sin pandas ni ningún paquete, se usa:

l.sort()
if len(l) % 2 == 0:
  median = (l[len(l) // 2] + l[(len(l) // 2) - 1])/ 2
else:
  median = l[len(l) // 2]
print(median)

Podrían explicarme:

  1. El % qué significa??
  2. Qué significa l[len(l) // 2] y qué arroja?

Gracias!!

1 respuesta

Hola Silvia, cómo va?

  1. El símbolo % en Python se utiliza para obtener el resto de una división. En este caso, len(l) % 2 está verificando si la longitud de la lista l es divisible por 2 sin dejar resto. Si el resto es igual a 0, significa que la lista tiene una cantidad par de elementos, y si el resto es diferente de 0, significa que la lista tiene una cantidad impar de elementos.

  2. l[len(l) // 2] se utiliza para obtener el elemento del medio de la lista l. La expresión len(l) // 2 calcula el índice del elemento del medio redondeando hacia abajo. Si la lista tiene una cantidad par de elementos, l[len(l) // 2] obtiene el elemento de la mitad derecha de la lista, y l[(len(l) // 2) - 1] obtiene el elemento de la mitad izquierda de la lista. Luego, se realiza la suma de ambos elementos y se divide por 2 para obtener la mediana. Si la lista tiene una cantidad impar de elementos, l[len(l) // 2] obtiene directamente el elemento del medio, que es la mediana.

Espero que esto aclare tus dudas. Si tienes alguna otra pregunta, no dudes en hacerla. ;)

Si este post te ayudó, por favor, marca como solucionado ✓.