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

python 学习 有序字典

时间:2016-07-05 22:13:54      阅读:244      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!