这几天在看源码,看到这一段,里面有注释但还是看不懂,特请教诸位为我解惑。源码如下
根据提示:是把 “a.b.c = d”生成为{'a':{'b':{'c':'d'}}}
但是这代码思路我搞不懂。
这几天在看源码,看到这一段,里面有注释但还是看不懂,特请教诸位为我解惑。源码如下
根据提示:是把 “a.b.c = d”生成为{'a':{'b':{'c':'d'}}}
但是这代码思路我搞不懂。
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
2 回答1.9k 阅读✓ 已解决
你这个例子里面相当于
key = 'a.b.c'
,value = 'd'
,parts = ['a', 'b', 'c']
然后从parts里面把a, b, c逐个取出来
key = parts.pop(0)
,组成字典。parent.setdefault(key, {})
的意思就是如果parent里面没有key,那么就parent[key] = {}
,如果有key,则返回key对应的value,即parent[key]