如何将a=b&c=d格式的字符串转换为Python字典且无需手动替换分隔符
方法1:使用urllib标准库解析(适配URL参数场景)
如果待转换字符串本身是URL查询参数格式,直接调用Python标准库内置方法即可,不需要手动处理分隔符替换:
from urllib.parse import parse_qs x = 'a=b&c=d' result = {k: v[0] for k, v in parse_qs(x).items()} print(result) # 输出 {'a': 'b', 'c': 'd'}
注:parse_qs默认会把同一个键的多个值存为列表,所以用推导式取每个列表的第一个元素即可匹配需求。
方法2:字符串分割生成字典(无额外依赖)
如果不想引入第三方/标准库依赖,通过两次字符串分割即可构造目标字典,全程不需要手动替换符号为逗号/冒号:
x = 'a=b&c=d' result = dict(item.split('=') for item in x.split('&')) print(result) # 输出 {'a': 'b', 'c': 'd'}
该方法逻辑:先按&把原字符串拆为['a=b', 'c=d']的键值对列表,再把每个键值对按=拆为键、值的二元组,直接传入dict()构造函数生成目标字典。
内容的提问来源于stack exchange,提问作者twingo
相关产品推荐
相关产品推荐

