from collections import OrderedDict

这样?

修改:

from bisect import insort

import numpy as np

class SortedDict():

def __init__(self, init_dict=None):

if init_dict:

self._dict = init_dict

self.keys = init_dict.keys()

self.key_set = set(self.keys)

else:

self._dict = dict()

self.keys = list()

self.key_set = set()

def add(self, key, value):

self._dict[key] = value

if key not in self.key_set:

insort(self.keys, key)

self.key_set.add(key)

def __getitem__(self, key):

return self._dict[key]

def full_dict(self):

return self._dict

def get_top_results(self, top_num):

tmp_key_list = np.array(self.keys[:top_num])

return map(lambda i: (i, self._dict[i]), tmp_key_list)

# Demo

test_dict = SortedDict()

test_dict.add(1, 1)

test_dict.add(1, 1)

test_dict.add(2, 1)

test_dict.add(3, 1)

test_dict.add(29, 1)

test_dict.add(346, 1)

test_dict.add(6, 1)

test_dict.add(9, 1)

result = list(test_dict.get_top_results(6))

print(result)

# Output: [(1, 1), (2, 1), (3, 1), (6, 1), (9, 1), (29, 1)]

你想实现的东西在上面了,不过复杂度奇高...

真的追求复杂度低的话,楼下的答案其实是正解。你有一个误区就是Python list的Access是O(n) 复杂度。但实际上常数复杂度。

https://wiki.python.org/moin/...

python内置数据结构和stl_python里有C++ STL中的set和map吗?相关推荐

  1. python内置数据结构教程_python课程第二周 内置数据结构——列表和元组

    5种内置数据结构:列表.元组.字典.集合.字符串.列表.字典.字符串三种被称为线性结构.针对线性结构的操作有:切片.封包和解包.成员运算符.迭代. 针对数据结构的操作有解析式:解析式分为列表解析.生成 ...

  2. Python内置数据结构及其复杂度

    为了使用python实现复杂数据结构与算法,需要借助python内置的基础和数据结构,主要是list和dict,明白这两种数据结构各操作的复杂度对于问题求解以及计算复杂度有着至关重要的作用. 一.li ...

  3. Python内置数据结构--列表

    本节内容: 列表 元组 字符串 集合 字典 本节先介绍列表. 一.列表 一种容器类型.列表可以包含任何种类的对象,比如说数字.子串.嵌套其他列表.嵌套元组. 任意对象的有序集合,通过索引访问其中的元素 ...

  4. 【Python】07、python内置数据结构之字符串

    一.字符串 1.定义和初始化 In [4]: s = "hello python" In [4]: s = "hello python"In [5]: s Ou ...

  5. python内置数据结构教程第四版答案_Python数据结构--内置数据结构

    本文提到的所有内容均是基于Python 2.7,在Python 3.x的环境下可能并不完全适用 什么是数据结构 我们可以看一下在百度百科对于数据结构是怎么定义的: 数据结构是指相互之间存在着一种或多种 ...

  6. python内置数据结构_Python基础知识2-内置数据结构(下)

    bytes.bytearray #思考下面例子: a = 1b=aprint(a == b)#True print(a is b)#True print(id(a) is id(b))#False p ...

  7. python内置数据结构字符串

    一.字符串的创建和赋值 字符串或串(String)是由数字.字母.下划线组成的一串字符.Python 里面最常见的类型. 可以简单地通过在引号间(单引号,双引号和三引号)包含字符的方式创建它. 一个反 ...

  8. python内置数据结构_Python内置数据结构(一)

    1.列表 (1)列表初始化 (2)下标/索引操作 (3)修改列表元素 (4)增加列表元素 1)append 2)insert 3)extend (5)删除列表元素 1)pop 2)remove 3)c ...

  9. python内置数据结构之dict

    字典是什么 key-value对的集合.可变的.无序.key不重复的序列.key只能是唯一标识,value不限定,只要是合法的value.key和value一一对应. 字典的定义初始化 空字典定义 d ...

最新文章

  1. 逆天神经网络绘制神器!还有暗黑模式
  2. Django源码分析5:session会话中间件分析
  3. 让Mac OS 10.x.x安装在Vmware虚拟机上!
  4. java对象序列化作用_Java学习之——理解对象序列化
  5. 2021-08-30 centos连接WiFi方法
  6. GDCM:gdcm::PDFCodec的测试程序
  7. 容器学习 之 本地镜像与共有镜像(十)
  8. 关于登陆到域的用户,不需要显示登陆界面的问题(aspx)
  9. python银行系统模拟演练_python多线程实现代码(模拟银行服务操作流程)
  10. functools.partial()==>预先设置参数,使得之后调用的时候,减少函数的参数
  11. pthread_detach():主线程与子线程分离,子线程结束后,资源自动回收
  12. 回溯法 之 马周游(马跳日)问题
  13. python爬虫可以做哪些好玩的地方_如何快速的找到好玩的旅游景点信息?Python爬虫帮你轻松解决...
  14. 使用Xcode打包上传APP
  15. 关于iBase4J使用的一点心得体会
  16. 数据库基础介绍(1)几种常见的数据库
  17. 关闭极域电子教室学生端的各种方法
  18. LOJ#2134 小园丁与老司机
  19. 交管123缴费显示代理服务器异常,交管12123服务异常怎么回事?交管12123网络请求失败怎么办...
  20. javascript满天小星星

热门文章

  1. DirectInfo.GetFiles 排序
  2. 产品经理技能树之 需求规范
  3. Chrome渲染Transition时页面闪动Bug
  4. 最近一段时间的流水帐。
  5. 想成为架构师,你必须掌握的CAP细节
  6. python语音属于什么语言_python到底是什么类型的语言
  7. android 重复申请权限,去除AndroidManifest.xml里重复申请的权限(uses-permission)
  8. iis服务器发布web项目,webservice创建、发布及在IIS上部署
  9. c语言的简单程序设计实验报告,工程学院C语言程序设计实验报告
  10. matlab画2fsk频谱,2fsk信号调制解调频谱的matlab仿真