鱼C论坛

 找回密码
 立即注册
查看: 1219|回复: 10

[已解决]求教一个字典和列表的问题

[复制链接]
发表于 2018-2-4 23:06:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 天圆突破 于 2018-2-5 11:30 编辑

比如我现在有这样一个“看起来”的列表:
list1 = [dict1,dict2,dict3,dict4...dictn],列表里有n多项,每个项都是个字典。

但实际不是,而是str(list1),即:str([dict1,dict2,dict3,dict4...dictn])

就是说,看起来是个列表,实际上是个字符串,这个字符串,看起来和列表一模一样。

请教高手,有没有现成的轮子能把这样的字符串列表完美还原成原本的样子?就是还原成一个列表,每个项都是个字典。


哦,对了,还要补充一点,这个字符串比较奇葩,就是说字典里的某些项,里面可能带','(逗号)或':'(冒号)……


编辑:

已经解决了,用的笨办法,先把两个'[]'去了,然后用分割字符串,把  '},{'  替换成   '}adsfasdfasdf{'   ,最后根据中间一串乱字符再分割字符串,得到了列表。
然后继续用笨办法把字典里的key和item一个个抠出来

最佳答案
2018-2-5 08:54:39
  1. s = "[{'a':1},{'b':2},{'c':3,'d':4}]"
  2. print(type(s))
  3. l = eval(s)
  4. print(l)
  5. print(l[2])
  6. print(type(l))
  7. print(type(l[2]))

  8. #result
  9. <class 'str'>
  10. [{'a': 1}, {'b': 2}, {'c': 3, 'd': 4}]
  11. {'c': 3, 'd': 4}
  12. <class 'list'>
  13. <class 'dict'>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-4 23:14:24 | 显示全部楼层
你尝试了把这个字符串用工厂函数list()包起来吗?应该是能返回列表的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-4 23:15:43 | 显示全部楼层
不会找的只能做鲁班了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-4 23:20:05 | 显示全部楼层
了解2号 发表于 2018-2-4 23:14
你尝试了把这个字符串用工厂函数list()包起来吗?应该是能返回列表的

这样明显返回一个每个字符都是一个项的列表啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-5 08:04:39 From FishC Mobile | 显示全部楼层
先用list转换为列表,再逐项根据规律还原字典
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-5 08:54:39 | 显示全部楼层    本楼为最佳答案   
  1. s = "[{'a':1},{'b':2},{'c':3,'d':4}]"
  2. print(type(s))
  3. l = eval(s)
  4. print(l)
  5. print(l[2])
  6. print(type(l))
  7. print(type(l[2]))

  8. #result
  9. <class 'str'>
  10. [{'a': 1}, {'b': 2}, {'c': 3, 'd': 4}]
  11. {'c': 3, 'd': 4}
  12. <class 'list'>
  13. <class 'dict'>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-2-5 09:34:29 | 显示全部楼层
天圆突破 发表于 2018-2-4 23:20
这样明显返回一个每个字符都是一个项的列表啊

是的,我错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-5 09:37:00 | 显示全部楼层
本帖最后由 了解2号 于 2018-2-5 10:36 编辑

玩不了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-5 09:38:15 | 显示全部楼层
本帖最后由 了解2号 于 2018-2-5 10:36 编辑
天圆突破 发表于 2018-2-4 23:20
这样明显返回一个每个字符都是一个项的列表啊


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-5 10:35:07 | 显示全部楼层
你这说的看不明白,你还是 直接上例子干脆点。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-5 11:18:40 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-17 18:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表