首页 > 编程语言 > 详细

python 学习 有序字典

时间:2016-07-05 22:11:45      阅读:205      评论:0      收藏:0      [点我收藏+]

自定义创建有序字典类

 dict的__getitem__方法 有些不同,想使用自定义__getitem__方法显示查询key的下标;需要研究 

#/usr/bin/env python3
# -*- coding:utf-8 -*-
# Author: ZSHAOX


class mydict(dict):
    li = []  #定义列表用于有序的排列key值  

    def __setitem__(self, key, value): #自定义__setitem__方法,扩展父类方法
        self.li.append(key)      #将对象的key 添加至列表中
        super(mydict, self).__setitem__(key, value)   #将key,value写入到字典,调用父类__setitem__方法

    def __str__(self):    #自定义__str__方法
        temp_list = []    #定义临时列表 用于存放拼接的字典字符串
        for key in self.li:
            value = self.get(key)
            if type(value) == int:
                msg = "‘%s‘:%s" % (key, value)
                temp_list.append(msg)
            elif type(value) == str:
                msg = "‘%s‘:‘%s‘" % (key, value)
                temp_list.append(msg)
        temp_str = ‘{‘+",".join(temp_list)+‘}‘    #拼接字典字符串
        return temp_str

dic = mydict()

dic[‘k1‘] = 123
dic[‘k2‘] = 321

print(dic, type(dic))
print(dic)

  

python 学习 有序字典

原文:http://www.cnblogs.com/zshaox/p/5644993.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!