Python: divide los valores del diccionario en el límite de tamaño de los valores

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

Deja una respuesta

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