#!/usr/bin/env python # -*- coding: utf-8 -*- ''' 自定义有序字典:字典原功能不变,只是添加有序功能 ''' #继承系统的字典类(dict) class MyDict(dict): #在父类的init方法上新建一个字段(self.li) def __init__(self): super(MyDict,self).__init__() #执行父类的init方法 self.li = [] #创建一个空列表(用来存放字典的key) def __setitem__(self, key, value): self.li.append(key) #将key添加到自定义的列表中 super(MyDict,self).__setitem__(key,value) #执行父类的setitem方法 def __str__(self): temp_list = [] for key in self.li: value = self.get(key) if isinstance(value,str): temp_list.append("'%s': '%s'" % (key,value)) else: temp_list.append("'%s': %s" % (key,value)) temp_str = '{' + ','.join(temp_list) + '}' return temp_str #有序 obj = MyDict() obj['k1'] = 'v1' obj['k2'] = 'v2' obj['k3'] = 123 print(obj) #无序 obj1 = dict() obj1['k1'] = 'v1' obj1['k2'] = 'v2' obj1['k3'] = 123 print(obj1)
关注我的公众号,不定期推送资讯
本文来自博客园,作者:链条君,转载请注明原文链接:https://www.cnblogs.com/MacoLee/articles/6038600.html