如何在python中将字符串转换为dict?

如何在python中将字符串转换为dict?,python,Python,如何将原始字符串转换为具有键值的字典。谢谢。不要手动解析;Python有urllib.parse.parse_qs函数,它完全满足您的需要 app=related_query&type=json&src=sm_rec&count=20&sc=structure_web_info&uid=d4a048cc49a11ad0f98d83608c44b554%7C26858319344%7C%7C1508669758&uuid=d4a048cc49a11a

如何将原始字符串转换为具有键值的字典。谢谢。

不要手动解析;Python有
urllib.parse.parse_qs
函数,它完全满足您的需要

app=related_query&type=json&src=sm_rec&count=20&sc=structure_web_info&uid=d4a048cc49a11ad0f98d83608c44b554%7C26858319344%7C%7C1508669758&uuid=d4a048cc49a11ad0f98d83608c44b554%7C26858319344%7C%7C1508669758&query=%E5%8E%86%E5%8F%B2%E6%B4%BB%E4%B8%A4%E7%99%BE%E5%B2%81%E4%BB%A5%E4%B8%8A%E7%9A%84&url=http%3A%2F%2Fwww.360doc.cn%2Farticle%2F150887_537727792.html&from=ucframe&title=%E5%8E%86%E5%8F%B2%E4%B8%8A%E6%9C%80%E9%95%BF%E5%AF%BF%E7%9A%84%E4%BA%BA%2C%E6%B4%BB%E5%88%B0%E4%B8%A4%E7%99%BE%E5%B2%81%E7%9A%84%E5%A5%A5%E7%A7%98&weini_sn=0

In [38]: line[str].split('&')
Out[38]:
['app=related_query',
 'type=json',
 'src=sm_rec',
 'count=20',
 'sc=structure_web_info',
 'uid=d4a048cc49a11ad0f98d83608c44b554%7C26858319344%7C%7C1508669758',
 'uuid=d4a048cc49a11ad0f98d83608c44b554%7C26858319344%7C%7C1508669758',
 'query=%E5%8E%86%E5%8F%B2%E6%B4%BB%E4%B8%A4%E7%99%BE%E5%B2%81%E4%BB%A5%E4%B8%8A%E7%9A%84',
 'url=http%3A%2F%2Fwww.360doc.cn%2Farticle%2F150887_537727792.html',
 'from=ucframe',
 'title=%E5%8E%86%E5%8F%B2%E4%B8%8A%E6%9C%80%E9%95%BF%E5%AF%BF%E7%9A%84%E4%BA%BA%2C%E6%B4%BB%E5%88%B0%E4%B8%A4%E7%99%BE%E5%B2%81%E7%9A%84%E5%A5%A5%E7%A7%98',
 'weini_sn=0',
 'bucket=']
在Python 2中,这在
urlparse
模块中:

from urllib.parse import parse_qs
parse_qs(line)

你试过什么?你具体需要什么帮助?
d={(sp.split('=')[0],sp.split('=')[1])对于[str]行中的sp.split('&')}
对于
json
dict
在网上有很多答案。@Ev.Kounis这不是一个json,他有一个字符串,然后他有一个字符串列表。@alexisdevarenes至少标题是
dict
。不确定所需的输出是什么。哪个版本?>>从urllib.parse导入parse_qs回溯(最后一次调用):文件“”,第1行,在ImportError中:没有名为parseSee的模块更新了问题。问题中没有提到版本。要么是这个版本,要么我需要眼镜。由于Python 3已经面世近九年了,现在我倾向于假设人们正在使用它,除非他们另有说明。很好的解决方案!!
from urlparse import parse_qs