Python: el valor del diccionario enumera el producto de longitudes

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)) 
Producción

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)) 
Producción

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

Deja una respuesta

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