python 学习 有序字典

Posted zshaox

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 学习 有序字典相关的知识,希望对你有一定的参考价值。

自定义创建有序字典类

 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 学习 有序字典的主要内容,如果未能解决你的问题,请参考以下文章

python学习笔记-Day8 下 (特殊方法iter方法super方法有序字典实现python单例模式)

Python学习:字典(list)

适合网络攻城狮学习的Python——基本语法(字典)

python学习--day1(列表元组字典的区别)

python-字典有序并写入json文件

13 个非常有用的 Python 代码片段