Python – Slice hasta K listas de valores del diccionario

Dado el diccionario con valor como listas, divida cada lista hasta K.

Entrada : test_dict = {“Gfg”: [1, 6, 3, 5, 7], “Mejor”: [5, 4, 2, 8, 9], “es”: [4, 6, 8, 4, 2]}, K = 3 Salida : {‘Gfg’: [1, 6, 3], ‘Best’: [5, 4, 2], ‘is’: [4, 6, 8]} Explicación : El extraído Lista de valores de diccionario de 3 longitudes. Entrada : test_dict = {“Gfg”: [1, 6, 3, 5, 7], “Mejor”: [5, 4, 2, 8, 9], “es”: [4, 6, 8, 4, 2]}, K = 2 Salida : {‘Gfg’: [1, 6], ‘Best’: [5, 4], ‘is’: [4, 6]} Explicación : la lista extraída de valores de diccionario de 2 longitudes.

Método n. ° 1: usar loop + list slicing  

La combinación de las funcionalidades anteriores se puede utilizar para resolver este problema. En esto, realizamos la tarea de dividir la lista utilizando la operación de división y el ciclo para iterar a través de todas las claves.

Python3

# Python3 code to demonstrate working of
# Slice till K dictionary value lists
# Using loop + list slicing
 
# initializing dictionary
test_dict = {"Gfg" : [1, 6, 3, 5, 7],
             "Best" : [5, 4, 2, 8, 9],
             "is" : [4, 6, 8, 4, 2]}
 
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
 
# initializing K
K = 4
 
res = dict()
for sub in test_dict:
     
    # slicing till K and reassigning
    res[sub] = test_dict[sub][:K]
 
# printing result
print("The dictionary after conversion " + str(res))
Salida El diccionario original es: {‘Gfg’: [1, 6, 3, 5, 7], ‘Best’: [5, 4, 2, 8, 9], ‘is’: [4, 6, 8, 4, 2]} El diccionario después de la conversión {‘Gfg’: [1, 6, 3, 5], ‘Best’: [5, 4, 2, 8], ‘is’: [4, 6, 8, 4 ]}

Método n.º 2: uso de la comprensión del diccionario + segmentación de listas

Esta es otra forma más en la que se puede realizar esta tarea. En esto, realizamos la tarea de reasignar utilizando la comprensión del diccionario y proporcionamos un enfoque de línea para este problema. 

Python3

# Python3 code to demonstrate working of
# Slice till K dictionary value lists
# Using dictionary comprehension + list slicing
 
# initializing dictionary
test_dict = {"Gfg" : [1, 6, 3, 5, 7],
             "Best" : [5, 4, 2, 8, 9],
             "is" : [4, 6, 8, 4, 2]}
 
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
 
# initializing K
K = 4
 
# one-liner to slice elements of list
# items() used to get all key-value pair of dictionary
res = {key: val[:K] for key, val in test_dict.items()}
 
# printing result
print("The dictionary after conversion " + str(res))
Salida El diccionario original es: {‘Gfg’: [1, 6, 3, 5, 7], ‘Best’: [5, 4, 2, 8, 9], ‘is’: [4, 6, 8, 4, 2]} El diccionario después de la conversión {‘Gfg’: [1, 6, 3, 5], ‘Best’: [5, 4, 2, 8], ‘is’: [4, 6, 8, 4 ]}

La Complejidad de Espacio y Tiempo es la misma para ambos métodos:

Complejidad de tiempo: O(n)

Espacio Auxiliar: O(n)

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 *