Python: convertir la lista en una lista de valores clave de un solo diccionario

A veces, mientras trabajamos con listas de Python, podemos tener un problema en el que necesitamos convertir la lista en un diccionario, que tiene una sola clave, el elemento Kth de la lista y otros como su valor de lista. Este tipo de problema puede tener aplicación en dominios de datos. Analicemos ciertas formas en que se puede realizar esta tarea.

Entrada : test_list = [6, 5, 3, 2], K = 1
Salida : {5: [6, 3, 2]}

Entrada : test_list = [6, 5, 3, 2], K = 2
Salida : {5: [6, 5, 2]}

Método n.º 1: Uso del bucle
Esta es una de las formas en que se puede realizar esta tarea. En esto, creamos una clave inicialmente y luego agregamos valores excepto el índice K para crear una lista de diccionarios.

# Python3 code to demonstrate working of 
# Convert list to Single Dictionary Key Value list
# Using loop
  
# initializing list
test_list = [5, 6, 3, 8, 9] 
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing K 
K = 3
  
# Convert list to Single Dictionary Key Value list
# Using loop
res = {test_list[K] : []}
for idx in range(len(test_list)):
    if idx != K:
        res[test_list[K]].append(test_list[idx])
  
# printing result 
print("Records after conversion : " + str(res))
Producción :

The original list is : [5, 6, 3, 8, 9]
Records after conversion : {8: [5, 6, 3, 9]}

Método n.° 2: Uso de segmentación de listas
Este es otro trazador de líneas en el que se puede realizar esta tarea. En esto, cortamos la lista en el índice Kth y asignamos valores en el diccionario.

# Python3 code to demonstrate working of 
# Convert list to Single Dictionary Key Value list
# Using loop
  
# initializing list
test_list = [5, 6, 3, 8, 9] 
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing K 
K = 3
  
# Convert list to Single Dictionary Key Value list
# Using loop
res = {test_list[K] : test_list[:K] + test_list[K + 1:]}
  
# printing result 
print("Records after conversion : " + str(res))
Producción :

The original list is : [5, 6, 3, 8, 9]
Records after conversion : {8: [5, 6, 3, 9]}

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 *