Dada la string de parámetros de URL, convertir a elementos del diccionario.
Entrada : test_str = ‘gfg=4&is=5’
Salida : {‘gfg’: [‘4’], ‘is’: [‘5’]}
Explicación : el valor de gfg es 4.Entrada : test_str = ‘gfg=4’
Salida : {‘gfg’: [‘4’]}
Explicación : el valor de gfg es 4 como parámetro.
Método #1: Usando urllib.parse.parse_qs()
Esta es una función incorporada predeterminada que realiza esta tarea, analiza y las claves se forman a partir de LHS de «=» y devuelve una lista de valores que están en valores RHS para los parámetros. Por lo tanto, importe urllib.parse() externo, para permitir que esto funcione.
Python3
# import module import urllib.parse # initializing string test_str = 'gfg=4&is=5&best=yes' # printing original string print("The original string is : " + str(test_str)) # parse_qs gets the Dictionary and value list res = urllib.parse.parse_qs(test_str) # printing result print("The parsed URL Params : " + str(res))
Método #2: Usar findall() + setdefault()
En esto, obtenemos todos los parámetros usando findall() y luego asignamos claves y valores usando setdefault() y loop.
Python3
import re # initializing string test_str = 'gfg=4&is=5&best=yes' # printing original string print("The original string is : " + str(test_str)) # getting all params params = re.findall(r'([^=&]+)=([^=&]+)', test_str) # assigning keys with values res = dict() for key, val in params: res.setdefault(key, []).append(val) # printing result print("The parsed URL Params : " + str(res))
Método #3: Usando split()
Python3
#python program to convert #URL parameters to dictionary items # initializing string test_str = 'gfg=4&is=5&best=yes' # printing original string print("The original string is : " + str(test_str)) # getting all params res = dict() x=test_str.split("&") for i in x: a,b=i.split("=") # assigning keys with values res[a]=[b] # printing result print("The parsed URL Params : " + str(res))
The original string is : gfg=4&is=5&best=yes The parsed URL Params : {'gfg': ['4'], 'is': ['5'], 'best': ['yes']}
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