自定义创建有序字典类
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)
时间: 2024-10-25 19:47:27