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))
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))
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