Python | Mediana Matemática de Registros Acumulativos

A veces, mientras trabajamos con la lista de tuplas de Python, podemos tener un problema en el que necesitamos encontrar la mediana de los valores de tupla en la lista. Este problema tiene la posible aplicación en muchos dominios, incluidas las matemáticas. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: uso de bucles +"~" operator
Esta tarea se puede realizar de forma bruta utilizando la combinación de las funcionalidades anteriores. En esto, ordenamos la lista y, al usar la propiedad del operador «~» para realizar la negación, accedemos a la lista desde el frente y desde atrás después del aplanamiento, realizando el cálculo requerido para encontrar la mediana.

# Python3 code to demonstrate working of 
# Mathematical Median of Cumulative Records
# Using loop + "~" operator 
  
# initializing list 
test_list = [(1, 4, 5), (7, 8), (2, 4, 10)]
  
# printing list 
print("The original list : " + str(test_list)) 
  
# Mathematical Median of Cumulative Records 
# Using loop + "~" operator 
res = []
for sub in test_list :
  for ele in sub :
    res.append(ele)
res.sort() 
mid = len(res) // 2
res = (res[mid] + res[~mid]) / 2
  
# Printing result 
print("Median of Records is : " + str(res)) 
Producción :

The original list : [(1, 4, 5), (7, 8), (2, 4, 10)]
Median of Records is : 4.5

Método #2: Usarchain() + statistics.median()
Este es el método más genérico para realizar esta tarea. En esto, usamos directamente la función incorporada después de aplanar usando chain() para realizar la mediana de la lista aplanada.

# Python3 code to demonstrate working of 
# Mathematical Median of Cumulative Records
# Using chain() + statistics.median()
import statistics 
from itertools import chain
  
# initializing list 
test_list = [(1, 4, 5), (7, 8), (2, 4, 10)] 
  
# printing list 
print("The original list : " + str(test_list)) 
  
# Mathematical Median of Cumulative Records
# Using chain() + statistics.median()
temp = list(chain(*test_list)) 
res = statistics.median(temp) 
  
# Printing result 
print("Median of Records is : " + str(res)) 
Producción :

The original list : [(1, 4, 5), (7, 8), (2, 4, 10)]
Median of Records is : 4.5

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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