Python怎么将字符串转化为字典?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python怎么将字符串转化为字典?相关的知识,希望对你有一定的参考价值。

如图,这是一个cookie的字符串。request.get()要求的是一个字典,有方便的命令把这个字符串转换为字典吗?

先打开Python的代码编辑器窗口,这是必要的一步
Python中字典怎么转化成字符串

然后创建一个字典,输入 dict1=\'1\':\'a\',\'2\':\'b\',\'3\':\'c\' ,然后回车,这里我将它命名为dict1,你也可以用其他的名字
Python中字典怎么转化成字符串

回车之后就打印出了\'1\': \'a\', \'2\': \'b\', \'3\': \'c\',说明创建成功了。
Python中字典怎么转化成字符串

接着我们用Python的内置函数 type(object)查看它的类型,输入type(dict1)后回车,出现<class \'dict\'>说明是字典类型。
Python中字典怎么转化成字符串

重点来了,接下来就是见证奇迹的时刻,输入str1 =str(dict1)后回车,和上面一眼,str1可以自己命名,这里用到了Python的内置函数str()。
Python中字典怎么转化成字符串

最后输入type(str1)后回车,出现<class \'str\'>说明是字典类型。在Python中str是字符串,dict是字典。
Python中字典怎么转化成字符串
参考技术A

想不出一个函数就能实现的方式。我的方法稍微复杂点,不知道是不是你想要的。

用了字符串中的split函数分割字符串为列表,再遍历列表生成嵌套列表。

最后用dict函数把嵌套列表转换为字典。

str='mid=aaaa;dfid=bbbb;'
list1=str.strip(';').split(';')
list2=[]
for l in list1:
            list2.append(l.split('='))
print(dict(list2))

追问

非常感谢你的回答,请问你会pyqt吗?我想要往QTreeWidget里添加一个按钮控件不会弄,方便给我指导一下吗?如果没用过pyqt的话也感谢你。

本回答被提问者采纳
参考技术B JSON到字典转化:
》》》dictinfo = json.loads(json_str) 输出dict类型
字典到JSON转化:
》》》jsoninfo = json.dumps(dict)输出str类型
比如:
info = 'name' : 'jay', 'sex' : 'male', 'age': 22
jsoninfo = simplejson.dumps(info)
print jsoninfo

Unicode到字典的转化:
》》》 json.loads()
比如:
import json
str = '"params":"id":222,"offset":0,"nodename":"topic"'
params = json.loads(str)
print params['params']['id']追问

问题是我这只是一个从浏览器拷贝下来的字符串,而且不符合json格式,怎么处理啊?

以上是关于Python怎么将字符串转化为字典?的主要内容,如果未能解决你的问题,请参考以下文章

python中如何将字符串转换为字典

python 中怎么把,list,字典dict转换为字符串

Python 怎么将列表类字典组字符串转换为列表?

在python中,列表,字典的相互转换?

C语言怎么转化成python

python 字典的值为列表,想把一个列表的值拼在一起用‘\t’隔开,变成一个字符串怎么写?