
自定义创建有序字典类
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)