Python: longitud máxima del valor de string de la clave

A veces, mientras trabajamos con diccionarios de Python, podemos tener un problema en el que necesitamos encontrar la longitud máxima de todos los valores de string de una clave en particular. Este problema puede ocurrir en dominios de programación día a día y desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.

Ejemplos –

Entrada:
test_list = [{‘key1’ : “abcd”, ‘key2’ : 2}, {‘key1’ : “qwertyui”, ‘key2’ : 2}, {‘key1’ : “xcvz”, ‘key3’ : 3}, {‘clave1’: ninguna, ‘clave3’: 4}]

Salida: 8
Explicación: entre todos los valores para la clave dada key1, qwertyui tiene una longitud máxima (que es 8).

Método n.° 1: usar max() + len()la comprensión de listas +
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, calculamos la longitud máxima de la string usando max() y len(). La comparación con cada uno está limitada por la comprensión de la lista.

# Python3 code to demonstrate working of 
# Maximum String value length of Key
# Using max() + len() + list comprehension
  
# initializing list
test_list = [{'Gfg' :  "abcd", 'best' : 2}, 
             {'Gfg' :  "qwertyui", 'best' : 2},
             {'Gfg' :  "xcvz", 'good' : 3},
             {'Gfg' : None, 'good' : 4}]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing Key 
filt_key = 'Gfg'
  
# Maximum String value length of Key
# Using max() + len() + list comprehension
temp = (sub[filt_key] for sub in test_list)
res = max(len(ele) for ele in temp if ele is not None)
  
# printing result 
print("The maximum length key value : " + str(res)) 
Producción :

La lista original es: [{‘mejor’: 2, ‘Gfg’: ‘abcd’}, {‘mejor’: 2, ‘Gfg’: ‘qwertyui’}, {‘buena’: 3, ‘Gfg’: ‘ xcvz’}, {‘good’: 4, ‘Gfg’: None}]
El valor de clave de longitud máxima: 8

Método n.º 2: Uso de la comprensión de listas + len() + max()(una línea)
La tarea similar también se puede combinar para realizarla en una línea para una solución compacta.

# Python3 code to demonstrate working of 
# Maximum String value length of Key
# Using max() + len() + list comprehension (one liner)
  
# initializing list
test_list = [{'Gfg' :  "abcd", 'best' : 2}, 
             {'Gfg' :  "qwertyui", 'best' : 2},
             {'Gfg' :  "xcvz", 'good' : 3},
             {'Gfg' : None, 'good' : 4}]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing Key 
filt_key = 'Gfg'
  
# Maximum String value length of Key
# Using max() + len() + list comprehension (one liner)
res = len(max(test_list, key = lambda sub: len(sub[filt_key])
                if sub[filt_key] is not None else 0)[filt_key])
  
# printing result 
print("The maximum length key value : " + str(res)) 
Producción :

La lista original es: [{‘mejor’: 2, ‘Gfg’: ‘abcd’}, {‘mejor’: 2, ‘Gfg’: ‘qwertyui’}, {‘buena’: 3, ‘Gfg’: ‘ xcvz’}, {‘good’: 4, ‘Gfg’: None}]
El valor de clave de longitud máxima: 8

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 *