📜  将 URL 参数转换为字典项的Python程序

📅  最后修改于: 2022-05-13 01:55:22.110000             🧑  作者: Mango

将 URL 参数转换为字典项的Python程序

给定 URL 参数字符串,转换为字典项。

方法 #1:使用 urllib.parse.parse_qs()

这是执行此任务的默认内置函数,它解析并从“=”的 LHS 形成键,并返回参数的 RHS 值中的值列表。因此,导入外部 urllib.parse() 以使其能够工作。

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


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


输出

方法 #2:使用 findall() + setdefault()

在这里,我们使用 findall() 获取所有参数,然后使用 setdefault() 和循环分配键和值。

蟒蛇3

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