Dado un diccionario con valores de string, la tarea es escribir un programa en Python para dividir valores si el tamaño de la string excede K.
Entrada: {1: «Geeksforgeeks», 2: «mejor para», 3: «todos los geeks»}, límite = 5
Salida: {1: ‘Geeks’, 2: ‘forge’, 3: ‘eks’, 4: ‘best’, 5: ‘for’, 6: ‘all g’, 7: ‘eeks’}
Explicación: todos los valores de string tienen un límite de longitud de 5. Se crea un nuevo valor para el límite de tamaño de la publicación.
Entrada: {1: «Geeksforgeeks», 2: «mejor para»}, límite = 5
Salida: {1: ‘Geeks’, 2: ‘forja’, 3: ‘eks’, 4: ‘mejor’, 5: ‘para’}
Explicación: todos los valores de string tienen un límite de longitud de 5. Se crea un nuevo valor para el límite de tamaño de la publicación.
Método: usar la comprensión del diccionario + enumerar() + dividir la lista
En esto, realizamos la tarea de obtener los fragmentos de valor requeridos mediante el corte de listas y la comprensión de listas en la iteración de valores extraídos mediante valores(). El siguiente paso es reasignar claves con nuevos valores fragmentados utilizando la comprensión de listas y enumerate().
Python3
# Python3 code to demonstrate working of # Split Dictionary values on size limit # Using dictionary comprehension + enumerate() + list slicing # initializing dictionary test_dict = {1: "Geeksforgeeks", 2: "best for", 3: "all geeks"} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # initializing limit limit = 4 # cutting chunks of K chunks = (sub[idx: idx + limit] for sub in test_dict.values() for idx in range(0, len(sub), limit)) # re assigning dictionary with chunks res = {key: val for key, val in enumerate(chunks, 1)} # printing result print("The extracted values : " + str(res))
Producción:
El diccionario original es: {1: ‘Geeksforgeeks’, 2: ‘mejor para’, 3: ‘todos los geeks’}
Los valores extraídos: {1: ‘Geek’, 2: ‘sfor’, 3: ‘geek’, 4: ‘s’, 5: ‘best’, 6: ‘for’, 7: ‘all’, 8: ‘ friki’, 9: ‘s’}
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