看了园中别人写的三级菜单,对比了两个字典,发现一个问题(字典中的元素进行额简化处理)
正确的字典(别人的)
zone = {
'华北':{ '山东' : {'青岛' : ['四方'],}, },
'华南':{'江苏' : {'苏州' : ['沧浪'],},},
}
不算错误,但是不合理的字典(我的)
dic_china = {
"直辖市":{"北京市":["东城区",],},
"省":{"浙江省":{"杭州市":["拱墅区",],},}
}
可以看出来我的字典是
直辖市分类--->北京--->列表,
而省分类--->浙江省--->市--->列表,
如果拆分建立的话,一个属于二级,一个是三级,所以最后dic_city无法使用keys()方法,
至于原因,我猜测:这样建立的字典是属于二级的,而不是三级的,原理可能类似与水桶,由最短的一块决定能装多少水,所以{"杭州市":["拱墅区",],}这一整个都被python识别为一个value,所以最后不能用keys()方法。
ps:以上是我自己验证过了的,但是最后的原因是我自己猜测的,不知道正不正确,所以不要请看到的大神能解惑,和我一样是小白的看看就好,记住和我一样是小白的看看就好!!!!!!!!