Python: conversión de la lista de strings en el diccionario de la lista de valores clave

Dada una string, conviértala en un diccionario de lista de valores clave, con la clave como primera palabra y el resto de palabras como lista de valores.

Entrada : test_list = [“gfg es mejor para geeks”, “CS es el mejor tema”]
Salida : {‘gfg’: [‘is’, ‘best’, ‘for’, ‘geeks’], ‘CS’: [ ‘es’, ‘mejor’, ‘tema’]}
Explicación : los primeros elementos se emparejan con el resto de las palabras correspondientes como lista.

Entrada : test_list = [“gfg is best for geeks”]
Salida : {‘gfg’: [‘is’, ‘best’, ‘for’, ‘geeks’]}
Explicación : los primeros elementos se emparejan con el resto de palabras respectivo como lista.

Método #1: Usar split() + loop

En esto, iteramos para cada string y luego realizamos la división de la string usando split(), asignamos el primer elemento como clave y empaquetamos otros elementos en la lista, usando el operador * y creamos un par de lista clave-valor.

Python3

# Python3 code to demonstrate working of 
# Convert String List to Key-Value List dictionary
# Using split() + loop
  
# initializing list
test_list = ["gfg is best for geeks", "I love gfg", "CS is best subject"]
  
# printing string
print("The original list : " + str(test_list))
  
  
res = dict()
for sub in test_list:
      
    # split() for key 
    # packing value list
    key, *val = sub.split()
    res[key] = val
  
# printing results 
print("The key values List dictionary : " + str(res))
Producción

The original list : ['gfg is best for geeks', 'I love gfg', 'CS is best subject']
The key values List dictionary : {'gfg': ['is', 'best', 'for', 'geeks'], 'I': ['love', 'gfg'], 'CS': ['is', 'best', 'subject']}

Método #2: Usar split() + comprensión de diccionario

Esta es una forma similar de resolver este problema. En este, la comprensión del diccionario se utiliza para resolver este problema.

Python3

# Python3 code to demonstrate working of 
# Convert String List to Key-Value List dictionary
# Using split() + dictionary comprehension
  
# initializing list
test_list = ["gfg is best for geeks", "I love gfg", "CS is best subject"]
  
# printing string
print("The original list : " + str(test_list))
  
# using dictionary comprehension to solve this problem
res = {sub[0] : sub[1:] for sub in (ele.split() for ele in test_list)}
  
# printing results 
print("The key values List dictionary : " + str(res))
Producción

The original list : ['gfg is best for geeks', 'I love gfg', 'CS is best subject']
The key values List dictionary : {'gfg': ['is', 'best', 'for', 'geeks'], 'I': ['love', 'gfg'], 'CS': ['is', 'best', 'subject']}

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 *