嵌套字编程
❶ python中如何取嵌套字典中的多个值
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('输入错误!')

❷ python 实现字典嵌套字典
from collections import defaultdict
interface_all = defaultdict(dict)
for port in porttype:
interface_all[port]['status'] = 'up'
❸ Python字典嵌套字典排序,该怎么处理
感觉这个需求有些许问题,因为通常对比排序的都是同一类型的数据,譬如aaa代表是年龄,bbb代表的是工资,等等... 所以不会拿自己的年龄和工资作一次排序。
# 要做的话,可以手动给它并成一个新列‘sort_key’。 obj就是你最外层的a,免得同名混淆
for i in obj:
obj[i]['sort_key'] = obj[i].values()[0]
# 目的是构造出这样的结构:
# ('c', {'sort_key': 1, 'ccc': 1}), ('d', {'sort_key': 2, 'ddd': 2}), .....)
print(sorted(obj.items(), key = lambda x:x[1]['sort_key']))
❹ python 嵌套中的字典赋值
yourDict={'1000':{'1':['a','b','c','d'],'2':['e','b','c','a']},'2000':{'1':['c','d','c','d'],'2':['a','a','c','d']}} out=open('out.xls','w') for key in yourDict: out.write(key) for key2 in yourDict[key]: out.write('\t') out.write(key2+'\t') out.write('\t'.join(yourDict[key][key2] )) out.write('\n') 最后xls转存为csv即可
