A veces, los datos que recibimos están en forma de tuplas que tienen datos de varias fuentes y, por lo general, podemos tener un caso de uso en el que necesitamos procesar el promedio de búsqueda de cada índice de tupla para la acumulación. Analicemos ciertas formas en que esto se puede realizar.
Método #1: Usar la comprensión de listas
Este es el método más ingenuo para realizar esta tarea en particular, en este método calculamos el promedio de cada índice de todos los índices posibles de la tupla.
# Python3 code to demonstrate # Column Average in Record List # using list comprehension # initializing list test_list = [(1, 6), (3, 4), (5, 8)] # printing original list print ("The original list is : " + str(test_list)) # Column Average in Record List # using list comprehension temp = sum(i[0] for i in test_list), sum(i[1] for i in test_list) res = [] for ele in temp: res.append(ele / len(test_list)) # printing summation print ("The position Average of tuples : " + str(res))
The original list is : [(1, 6), (3, 4), (5, 8)] The position Average of tuples : [3.0, 6.0]
Método #2: Usarzip() + sum()
Esta es la forma más elegante y pythonica de realizar esta tarea en particular. En esto combinamos todos los índices del elemento usando zip() y el rendimiento de la suma usando la función sum. Y luego divida la lista por la longitud de la lista para calcular el promedio.
# Python3 code to demonstrate # Column Average in Record List # using zip() + sum() # initializing list test_list = [(1, 6), (3, 4), (5, 8)] # printing original list print ("The original list is : " + str(test_list)) # Column Average in Record List # using zip() + sum() temp = [sum(i) for i in zip(*test_list)] res = [] for ele in temp: res.append(ele / len(test_list)) # printing summation print ("The position Average of tuples : " + str(res))
The original list is : [(1, 6), (3, 4), (5, 8)] The position Average of tuples : [3.0, 6.0]
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