1 正确的字典(别人的) 2 zone = { 3 '华北':{ '山东' : {'青岛' : ['四方'],}, }, 4 '华南':{'江苏' : {'苏州' : ['沧浪'],},}, 5 } 6 不算错误,但是不合理的字典(我的) 7 dic_china = { 8 "直辖市":{"北京市":["东城区",],}, 9 "省":{"浙江省":{"杭州市":["拱墅区",],},} 10 }
对比两个字典,不难发现,我建立的字典实际上时属于二级字典,而非三级字典。
思维误区:
我认为字典的级别由“长木板”来决定,即:字典"china"--->字典"省"--->字典"浙江省",而实际上是由“短木板”来决定的,即:字典“china”--->字典“直辖市”,
最终结果:
代码:dic_china['省']['浙江省'].keys():是错误的,代码执行会报错:Unresolved attribute reference 'key' for class
而代码:zone['华北']['山东'].keys():是正确的,输出值是青岛。
ps:又尝试了一下,发现直接输出dic_china['省']['浙江省'],输出结果为杭州市,即:我原来猜测的{"杭州市":["拱墅区",],}被python识别为一个value的猜想又好像是错误的,真的是搞不懂啊,对于字典还是要继续学习,另外不知道有没有技术大牛能解惑??