Python sorted list的实现

Python sorted list的实现


具体思路是用二分保list有序+插入

class SortedList(list):
    K = -1

    def __init__(self, K=-1):
        list.__init__(self)
        if K != -1: self.K = K

    def append(self, x):
        bisect.insort(self, x)
        if self.K != -1:
            if len(self)==self.K+1:
                self.pop(0)

这里还有一个限size的操作,之前写了一个self=self[1:],结果不对。还不清楚是为什么,留一个问题在这里。

参考

时间: 2024-10-13 05:11:18

Python sorted list的实现的相关文章

python sorted

http://www.cnblogs.com/65702708/archive/2010/09/14/1826362.html python sorted 我们需要对List进行排序,Python提供了两个方法对给定的List L进行排序,方法1.用List的成员函数sort进行排序方法2.用built-in函数sorted进行排序(从2.4开始) --------------------------------sorted------------------------------------

python sorted排序

python sorted排序 Python不仅提供了list.sort()方法来实现列表的排序,而且提供了内建sorted()函数来实现对复杂列表的排序以及按照字典的key和value进行排序. sorted函数原型 sorted(data, cmp=None, key=None, reverse=False) #data为数据 #cmp和key均为比较函数 #reverse为排序方向,True为倒序,False为正序 基本用法 对于列表,直接进行排序 >>> sorted([5, 2

Python sorted 函数

Python sorted 函数 sorted 可以对所有可迭代的对象进行排序操作,sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作.从新排序列表. sorted 语法: sorted(iterable[, cmp[, key[, reverse]]]) 参数说明: # 可迭代对象. iterable # 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0. cmp # 主要是用来进行比较的

python sorted() count() set(list)-去重

2.用python实现统计一篇英文文章内每个单词的出现频率,并返回出现频率最高的前10个单词及其出现次数,并解答以下问题?(标点符号可忽略) (1) 创建文件对象f后,解释f的readlines和xreadlines方法的区别? (2) 追加需求:引号内元素需要算作一个单词,如何实现? cat /root/text.txt hello world 2018 xiaowei,good luckhello kitty 2017 wangleai,ha hehello kitty ,hasd hehe

Python sorted 函数用法

1.背景   在python中,通常需要使用排序函数.而对字典针对一个键值进行排序会经常使用到.记录sorted 函数的键值排序用法. 2.代码 data 一个list,list 中的元素由字典组成 dic { "label":True "seqence":“I love Python” "rate":0.5 "length": 13 } 如果需要对每个字典中的rate值进行从低到高排序,代码如下: datas = sorte

python sorted 和 lambda结合排序 例子

dict = [{'id':'4','name':'b'},{'id':'6','name':'c'},{'id':'3','name':'a'},{'id':'1','name':'g'},{'id':'8','name':'f'}]dict_b = sorted(dict, key=lambda a:a['id'])print dict_b 排序后:[{'id': '1', 'name': 'g'}, {'id': '3', 'name': 'a'}, {'id': '4', 'name':

Python sorted函数排序

学生先按名称排序,在按成绩排序 from operator import itemgetterstudents=[('Bob',90),('David',99),('Dacheng',96),('Max',94)]sorted(students,key=itemgetter(0))sorted(students, key=lambda t: t[1])#sorted(students,key=itemgetter(1)) 关于itemgetter函数:operator.itemgetter函数获

Python sorted() 高阶函数

描述 sorted() 函数对所有可迭代的对象进行排序操作. sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作. list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作. 语法 sorted 语法: sorted(iterable[, cmp[, key[, reverse]]]) 参数说明: iterable --

python 排序sorted

num = [3,2,4,6,5] anum = sorted(num) dnum = sorted(num,reverse=True) print '升序:',anum # 升序: [2, 3, 4, 5, 6] print '降序:',dnum # 降序: [6, 5, 4, 3, 2]help(sorted) # sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list sorted()最多可以接收4个参