Magic347 最近的时间轴更新
Magic347

Magic347

V2EX 第 41190 号会员,加入于 2013-06-26 00:44:38 +08:00
Magic347 最近回复了
@lv2016 名字已经想好了,就叫 paper rank 吧~^_^
2020-10-20 19:55:15 +08:00
回复了 JellyBeanX 创建的主题 职场话题 卖个惨,找 V 友们诉诉苦
生日快乐,加油吧骚年!
2020-10-19 15:58:32 +08:00
回复了 L00kback 创建的主题 问与答 Python 求问多层嵌套字典怎么改值,套娃字典真是大坑
@L00kback 赞~不客气,哈哈
2020-10-19 12:02:13 +08:00
回复了 vipsin 创建的主题 互联网 淘宝现在在混吃等死吗?
@weitch 见解独到!
2020-10-16 18:48:02 +08:00
回复了 L00kback 创建的主题 问与答 Python 求问多层嵌套字典怎么改值,套娃字典真是大坑
可以把字典这种数据结构看成是一棵树,字典里的每个(key, val) pair 就是这棵树上的一个节点,
这个问题的复杂之处在于这里的 val 值类型可能是基础数据类型(比如数值、字符串或布尔),也可能是字典类型或者列表类型,如果一旦是字典类型或者列表类型,那么我们还需要进一步去查看这个 val 内部是否有我们需要寻找的 key 。

所以其实这个问题就转化为,想办法扫描一遍这棵树所有的节点找到指定的 key,然后更新对应的 val 即可,其实也就归结为一个树的遍历问题,这里使用实现上更方便的 dfs 方式(深度优先遍历,可以递归实现),代码如下,希望对你有所启发:

def _update(val):
   return val + 1 #TODO

def modify(dic):
   for key, val in dic.items():
      if key == "d" and type(val) == type(1):
         dic[key] = _update(val)
      elif type(val) == type({}):
         modify(val) # recursively call function
      elif type(val) == type([]):
         if len(val) > 0:
            for _dic in val:
               modify(_dic) # recursively call function
2020-10-15 16:22:11 +08:00
回复了 onice 创建的主题 程序员 有背了房贷的朋友吗?
@ryd994 见解独到专业!
2020-05-27 17:46:56 +08:00
回复了 rapperx2 创建的主题 问与答 求友们帮助,每天亿级数据怎么储存
hive?
要相信这个世界上永远都有 planB,加油大兄 dei !
2018-11-30 18:21:56 +08:00
回复了 ackfin01 创建的主题 程序员 SQL 在分组查询时,怎么获取最新一条记录
@killaboy712 漂亮,这里需要用到开窗函数,分组之后的 topk 问题的典型用例
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1074 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 19:22 · PVG 03:22 · LAX 11:22 · JFK 14:22
Developed with CodeLauncher
♥ Do have faith in what you're doing.