Dado un diccionario, realice su reordenación girando a la derecha las teclas del diccionario por K.
Ejemplos:
Entrada : test_dict = {1:6, 8:1, 9:3, 10:8, 12:6, 4:9}, K = 2
Salida : {12: 6, 4: 9, 1: 6, 8: 1, 9: 3, 10: 8}
Explicación : después de la rotación a la derecha (cíclica) de 2 elementos, los elementos se reorganizan.
Entrada : test_dict = {1:6, 8:1, 9:3, 10:8, 12:6, 4:9}, K = 1
Salida : {4: 9, 1: 6, 8: 1, 9: 3, 10: 8, 12: 6}
Explicación : después de la rotación a la derecha (cíclica) de 1 elemento, los elementos se reorganizan.
Método n. ° 1: usar comprensión de lista + elements() + comprensión de diccionario
En esto, realizamos la tarea de conversión del diccionario a la lista de tuplas, y luego realizamos la rotación de la lista, publicamos eso, el resultado se convierte nuevamente al diccionario para obtener la rotación de claves resultante.
Python3
# Python3 code to demonstrate working of # Rotate dictionary by K # Using list comprehension + items() + dictionary comprehension # initializing dictionary test_dict = {1: 6, 8: 1, 9: 3, 10: 8, 12: 6, 4: 9} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # initializing K K = 2 # converting to tuples list test_dict = list(test_dict.items()) # performing rotate res = [test_dict[(i - K) % len(test_dict)] for i, x in enumerate(test_dict)] # reconverting to dictionary res = {sub[0]: sub[1] for sub in res} # printing result print("The required result : " + str(res))
Producción:
El diccionario original es: {1: 6, 8: 1, 9: 3, 10: 8, 12: 6, 4: 9}
El resultado requerido: {12: 6, 4: 9, 1: 6, 8: 1 , 9: 3, 10: 8}
Método #2: Usar deque.rotate() + comprensión de diccionario + items()
En esto, realizamos la tarea de rotar usando la utilidad deque.rotate, el resto de las funcionalidades se realizan de manera similar al método anterior.
Python3
# Python3 code to demonstrate working of # Rotate dictionary by K # Using deque.rotate() + dictionary comprehension + items() from collections import deque # initializing dictionary test_dict = {1: 6, 8: 1, 9: 3, 10: 8, 12: 6, 4: 9} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # initializing K K = 2 # converting to tuples list test_dict = list(test_dict.items()) # performing rotate # using deque test_dict = deque(test_dict) test_dict.rotate(K) test_dict = list(test_dict) # reconverting to dictionary res = {sub[0]: sub[1] for sub in test_dict} # printing result print("The required result : " + str(res))
Producción:
El diccionario original es: {1: 6, 8: 1, 9: 3, 10: 8, 12: 6, 4: 9}
El resultado requerido: {12: 6, 4: 9, 1: 6, 8: 1 , 9: 3, 10: 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