鱼C论坛

 找回密码
 立即注册
查看: 2054|回复: 6

多重嵌套字典列表混合类型对象,如何优雅的解析?

[复制链接]
发表于 2019-6-13 17:48:12 | 显示全部楼层 |阅读模式

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

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

x
如若如下对象数据,甚至更加复杂的数据结构,如何才能批量修改?规则是如果遍历到的数据是列表且第一项的值是字符串或者数字,那么该列表中后面所有的值都与第一项的值相加;比如:[5, {'a':10}{‘b’:20}] 结果:[5, {'a':15}{‘b’:25}]  
  1. c =  {"folder1": [{"item1":'111'}, {"item2": '222'}],
  2.       "folder2": [
  3.             '123',
  4.             {"item3": [100,101]},
  5.             {"item4": '444'},
  6.             {"item5": '555'},
  7.             {"item6": '666'}]}
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-6-13 18:24:18 | 显示全部楼层
完全没看明白

第一项的值是字符串或者数字,那么该列表中后面所有的值都与第一项的值相加

数字 和后面相加 可以理解  字符咋加呢   

还有 你举这个例子,期待输出结果是啥样子的呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-14 00:32:27 | 显示全部楼层
wp231957 发表于 2019-6-13 18:24
完全没看明白

第一项的值是字符串或者数字,那么该列表中后面所有的值都与第一项的值相加
  1. a = {'a':[{'aa': '456'},{'aaa': '789'}], 'b':{'bb': '123'},'c':['cc',{'d':'dd'},'ee']}
  2. # 输出结果:{'a':[{'aa': '456456'},{'aaa': '789789'}], 'b':{'bb': '123123'},'c':['cc',{'d':'ccdd'},'ccee']}
复制代码

规则1:如果遇到是列表对象且第0号索引类型是字符串时(比如键值‘cc’这个值),就用该值与该列表后面所有对象的值就行相加;
规则2:除开第一规则其余所有值都是自己相加(比如456+456 =456456等)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-14 05:47:23 From FishC Mobile | 显示全部楼层
星空·无限 发表于 2019-6-14 00:32
规则1:如果遇到是列表对象且第0号索引类型是字符串时(比如键值‘cc’这个值),就用该值与该列表后面 ...

嵌套层数有无限制,比如你的外层不符合规则①
但是内层符合,咋弄
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-14 10:14:34 | 显示全部楼层
这题不会
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-14 15:41:06 | 显示全部楼层
wp231957 发表于 2019-6-14 05:47
嵌套层数有无限制,比如你的外层不符合规则①
但是内层符合,咋弄

无关乎内外数据类型,基本规则就是处理值为字符串的同时满足1,2条规则;当然如果遇到的值为其他类型就原数据返回。只需要处理的是字符串类型。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-14 15:51:03 From FishC Mobile | 显示全部楼层
星空·无限 发表于 2019-6-14 15:41
无关乎内外数据类型,基本规则就是处理值为字符串的同时满足1,2条规则;当然如果遇到的值为 ...

单独的列表深层嵌套,字典深层嵌套都好办
融在一起就不好办了,所以你最好提供一些多一些,复杂一些的数据
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-16 09:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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