python中如何取嵌套字典中的多个值?

比如图中这个字典,怎么取出所有的code值?如果用input()获取code,怎么根据输入的code值判断它属于哪个区?... 比如图中这个字典,怎么取出所有的code值?如果用input()获取code,怎么根据输入的code值判断它属于哪个区? 展开
 我来答
百度网友f903fea
2019-07-23 · TA获得超过179个赞
知道小有建树答主
回答量:181
采纳率:63%
帮助的人:50.1万
展开全部

city_menu={"BJ":{"dongcheng":{"size":41.84,"people":91.9,"code":100010},
"xicheng":{"size":50.70,"people":124.3,"code":100032},
"chaoyang":{"size":470.8,"people":308.3,"code":100020}},
"GZ":{"yuexiu":{"size":33.80,"people":115,"code":510030},
"liwan":{"size":59.10,"Mpeople":89,"code":510145},
"tianhe":{"size":96.33,"people":143,"code":510630},
"haizhu":{"size":90.40,"people":155,"code":510220}},
"SZ":{"futian":{"size":78.66,"people":135.71,"code":518000},
"nanshan":{"size":185.49,"people":113.59,"code":518000},
"luohu":{"size":78.76,"people":95.37,"code":518001}}}

d={}
for k0,v0 in city_menu.items():
for k1,v1 in v0.items():
d[v1['code']]=k0+"-"+k1

def city():
qu=input('请输入邮政编码:')
if int(qu) in d:
return print('邮政编码为:%s 的城市是%s。' %(qu,d[int(qu)]))
else:
print('输入错误!')

追问
感谢!
风驰电掣happy
2019-07-23 · TA获得超过136个赞
知道小有建树答主
回答量:226
采纳率:63%
帮助的人:81.2万
展开全部

其实就是重组个字典啦:code为建,区为值

后面就不用说了吧

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AAA软件教育
2019-07-23 · IT职业教育领导品牌
AAA软件教育
AAA软件教育隶属于河南梦工厂教育信息咨询有限公司,从事高端计算机职业教育工作,是国内知名的教育品牌。自07年创建以来,依托先进的办学理念,AAA培养出了数万名专业型、实战型高端技术人才。
向TA提问
展开全部
python是当下十分火爆的编程语言,尤其在人工智能应用方面。如果有心从事编程方向的工作,最好到专业机构深入学习、多实践,更贴近市场,这样更有利于将来的发展。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
GTA小鸡
高粉答主

2019-07-23 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
code_list = []
for district in city_menu.values():
for info in district.values():
code_list.append(info['code'])
print(code_list)
更多追问追答
追问
那如果用input()输入一个code值,怎么判断它属于哪个市哪个区呢?
追答
code2district = {}
for district in city_menu.values():
for name, info in district.items():
code2district[info['code']] = name
code = int(input('请输入区号'))
try:
print(code2district[code])
except KeyError:
print('查无此区')
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式