Python | Media de sublistas consecutivas

Algunos de los problemas clásicos en el dominio de la programación provienen de diferentes categorías y uno de ellos es encontrar la media de los subconjuntos. Este problema particular también es común cuando necesitamos calcular el promedio y almacenar la media de un grupo consecutivo. Probemos diferentes enfoques para este problema en lenguaje python.

Método #1: Uso de la comprensión de listas +sum()
La comprensión de listas se puede usar para realizar esta tarea en particular para filtrar grupos sucesivos y la función de suma se puede usar para obtener la suma de la solución filtrada. Dividimos la suma por el tamaño de la sublista para el promedio.

# Python3 code to demonstrate
# Mean of consecutive Sublist
# using list comprehension + sum()
  
# initializing list
test_list = [4, 7, 8, 10, 12, 15, 13, 17, 14]
  
# printing original list 
print("The original list : " + str(test_list))
  
# using list comprehension + sum()
# Mean of consecutive Sublist
res = [ sum(test_list[x : x + 3]) / 3 for x in range(0, len(test_list), 3)]
  
# printing result
print("The grouped average list is : " + str(res))
Producción :

The original list : [4, 7, 8, 10, 12, 15, 13, 17, 14]
The grouped average list is : [6.333333333333333, 12.333333333333334, 14.666666666666666]

Método n.° 2: usosum() + itertools.islice()
La tarea de dividir la lista en partes se realiza aquí mediante el método islice y la tarea convencional de obtener la suma se realiza mediante la función sum como el método anterior. Dividimos la suma por el tamaño de la sublista para el promedio.

# Python3 code to demonstrate
# Mean of consecutive Sublist
# using itertools.islice() + sum()
import itertools
  
# initializing list
test_list = [4, 7, 8, 10, 12, 15, 13, 17, 14]
  
# printing original list 
print("The original list : " + str(test_list))
  
# using itertools.islice() + sum()
# Mean of consecutive Sublist 
res = [sum(list(itertools.islice(test_list, i, i + 3))) / 3 for i in range(0, len(test_list), 3)]
  
# printing result
print("The grouped average list is : " + str(res))
Producción :

The original list : [4, 7, 8, 10, 12, 15, 13, 17, 14]
The grouped average list is : [6.333333333333333, 12.333333333333334, 14.666666666666666]

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 *