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))
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))
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