码迷,mamicode.com
首页 > 编程语言 > 详细

【python】构造字典类型字典

时间:2016-09-07 10:40:45      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

字典类型字典:就是包含字典类型的字典,如{‘sss‘: {‘ss‘: ‘dddsdsdsd‘}}

构造方式:

a={}
b="sss"
a[b]={}
a[b][‘ss‘] = "dddsdsdsd"
print  a
》》》{‘sss‘: {‘ss‘: ‘dddsdsdsd‘}}

 

 

应用:

import  sys,os,re
oui_dict={}  ###构造字典
tmp_fp = open("C:\\Users\\Administrator\\Desktop\\mac.py-master\\mac.py-master\\src\\macpy\\oui.txt", ‘rb‘)
while True:
    current_line=tmp_fp.readline() ###读取一行进行如下判断
    if current_line:
        m = re.match(r"^[0-9A-Z]{6}", current_line)  ###对所读到的行进行正则匹配
        if m:  ###若匹配成功,则进入,否则接着进入while循环往下读
            tmp = current_line.split(‘\t\t‘)
            mac_24 = tmp[0].split(‘    ‘)[0]
            if oui_dict.get(mac_24, None):###get函数不返回none。get获取oui_dict中mac24属性值,所没有返回none
                oui_dict[mac_24][‘com‘] += ‘ / ‘ + tmp[1].strip()##往字典类型字典添加数据
                ####正则匹配成功再往下读3行
                oui_dict[mac_24][‘addr‘] += ‘ / ‘ + tmp_fp.readline().strip()
                oui_dict[mac_24][‘re‘] += ‘ / ‘ + tmp_fp.readline().strip()
                oui_dict[mac_24][‘co‘] += ‘ / ‘ + tmp_fp.readline().strip()
            else:####get函数返回none
                oui_dict[mac_24] = {}
                oui_dict[mac_24][‘com‘] = tmp[1].strip()##往字典类型字典添加数据
                 ####正则匹配成功再往下读3行
                oui_dict[mac_24][‘addr‘] = tmp_fp.readline().strip()
                oui_dict[mac_24][‘re‘] = tmp_fp.readline().strip()
                oui_dict[mac_24][‘co‘] = tmp_fp.readline().strip()
    else:###文档读到再无数据跳出while循环
        break

oui.txt文档如下: 

技术分享

【python】构造字典类型字典

标签:

原文地址:http://www.cnblogs.com/paulwinflo/p/5848339.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!