为了账号安全,请及时绑定邮箱和手机立即绑定

python把字符串转换成列表

python把字符串转换成列表

千万里不及你 2019-02-20 11:57:33
python{'title': u'第一条新闻标题', 'description': u'第一条新闻描述,这条新闻没有预览图','picurl':u'http://img1.imgtn.bdimg.com/it/u=1779112580,3658566843&fm=15&gp=0.jpg', 'url':u'http://www.google.com.hk/',},{'title': u'第二条新闻标题, 这条新闻无描述', 'picurl':u'http://img1.imgtn.bdimg.com/it/u=599056397,2868563288&fm=21&gp=0.jpg','url':u'http://www.github.com/',},{'title': u'第三条新闻标题','description': u'第三条新闻描述','picurl':u'http://img1.imgtn.bdimg.com/it/u=599056397,2868563288&fm=21&gp=0.jpg','url': u'http://www.v2ex.com/',} 字符串如这样(这是字符串不是字典),我想把他转换成列表 python[ { 'title': u'第一条新闻标题', 'description': u'第一条新闻描述,这条新闻没有预览图', 'picurl':u'http://img1.imgtn.bdimg.com/it/u=1779112580,3658566843&fm=15&gp=0.jpg', 'url':u'http://www.google.com.hk/', }, { 'title': u'第二条新闻标题, 这条新闻无描述', 'picurl':u'http://img1.imgtn.bdimg.com/it/u=599056397,2868563288&fm=21&gp=0.jpg', 'url':u'http://www.github.com/', }, { 'title': u'第三条新闻标题', 'description': u'第三条新闻描述', 'picurl': u'http://img1.imgtn.bdimg.com/it/u=599056397,2868563288&fm=21&gp=0.jpg', 'url': u'http://www.v2ex.com/', } ] 直接 list()是不行的,应该怎么办,用正则匹配出来吗
查看完整描述

5 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

>>> s = "{'a':1},{'b':2}"
>>> list(eval(s))
[{'a': 1}, {'b': 2}]
查看完整回答
反对 回复 2019-03-01
?
守着一只汪

TA贡献1872条经验 获得超3个赞

通过观察,你的字符串很像Json字符串。现在流行使用json做数据传输的一种格式,不知道题主帖源码的时候,是不是漏了[]这两个符号。

即使真是这样,也可以考虑手动补全成为json字符串,然后使用jsonloads转成列表。

pythonimport json

s = "[{}, {}, ...{}]" # 补全为json字符串的格式,大概就是 python 字典字面形式的字符串。
data = json.loads(s)
查看完整回答
反对 回复 2019-03-01
?
Helenr

TA贡献1780条经验 获得超4个赞

pythons = "[{'t':u'dd'}]"
print eval(s)
查看完整回答
反对 回复 2019-03-01
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

eval('['+s+']')

查看完整回答
反对 回复 2019-03-01
?
温温酱

TA贡献1752条经验 获得超4个赞

字符串直接eval的话,如果字符串用户可控可能会造成漏洞,建议使用json解析。

查看完整回答
反对 回复 2019-03-01
  • 5 回答
  • 0 关注
  • 2284 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信