Dado un diccionario con valores como listas, calcule las longitudes de cada lista y encuentre el producto de todas las longitudes.
Entrada : test_dict = {‘Gfg’: [6, 5, 9, 3], ‘es’: [1, 3, 4], ‘mejor’: [9, 16]} Salida: 24 Explicación:
4 *
3 * 2 = 24. La longitud de las listas es 4, 3 y 2.Entrada : test_dict = {‘Gfg’: [6, 5, 3], ‘es’: [1, 3, 4], ‘mejor’: [9, 16]} Salida: 18 Explicación: 3 *
3 *
2 = 18. La longitud de las listas es 3, 3 y 2.
Método #1: Usar loop + len()
Esta es una de las formas en que se puede realizar esta tarea. En esto, iteramos para todos los valores y usamos len() para obtener la longitud de todas las listas de valores, después de lo cual realizamos la multiplicación de datos completos.
Python3
# Python3 code to demonstrate working of # Dictionary value lists lengths product # Using loop + len() # initializing dictionary test_dict = {'Gfg' : [6, 5, 9, 3, 10], 'is' : [1, 3, 4], 'best' :[9, 16]} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # using loop to iterate through all keys res = 1 for key in test_dict: # len() used to get length of each value list res = res * len(test_dict[key]) # printing result print("The computed product : " + str(res))
The original dictionary is : {'Gfg': [6, 5, 9, 3, 10], 'is': [1, 3, 4], 'best': [9, 16]} The computed product : 30
Método #2: Usando map() + lambda + reduce()
La combinación de las funciones anteriores proporciona un enfoque de una sola línea para resolver este problema. En esto, usamos map() para obtener longitudes de todas las listas extendiendo len() a cada lista, lambda se usa para obtener el producto y reducir para combinar.
Python3
# Python3 code to demonstrate working of # Dictionary value lists lengths product # Using map() + lambda + reduce() from functools import reduce # initializing dictionary test_dict = {'Gfg' : [6, 5, 9, 3, 10], 'is' : [1, 3, 4], 'best' :[9, 16]} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # values() used to get all lists of keys res = reduce(lambda sub1, sub2: sub1 * sub2, map(len, test_dict.values())) # printing result print("The computed product : " + str(res))
The original dictionary is : {'Gfg': [6, 5, 9, 3, 10], 'is': [1, 3, 4], 'best': [9, 16]} The computed product : 30
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