python top n排序

news2024/2/27 15:36:58

python top k 排序

 最小top n:

import heapq


import numpy as np

if __name__ == '__main__':
    a = [0, 1, 2, 3, 4, 5, 5, 7, 8, 10, 15, 20, 25]

    bbb= heapq.nsmallest(2, abs(np.array(a)-3.5))
    ccc= heapq.nsmallest(2,  enumerate(abs(np.array(a)-3.5)),key=lambda x: x[1])

    print(bbb)
    print(ccc)

最大top n:

topNum = 3

nlargestList = heapq.nlargest(topNum, myList) #取最大3个元素

堆的定义

堆是一种特殊的树形数据结构,每个节点都有一个值,通常我们所说的堆的数据结构指的是二叉树。堆的特点是根节点的值最大(或者最小),而且根节点的两个孩子也能与孩子节点组成子树,亦然称之为堆。 
堆分为两种,大根堆和小根堆是一颗每一个节点的键值都不小于(大于)其孩子节点的键值的树。无论是大根堆还是小根堆(前提是二叉堆)都可以看成是一颗完全二叉树。下面以图的形式直观感受一下: 
这里写图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.cn/news/show-326092.html

如若内容造成侵权/违法违规/事实不符,请联系七分地网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构大总结系列之B树和R树

原文:http://www.cnblogs.com/javaspring/archive/2012/08/14/2656223.html 一,B-树 B树是为磁盘或其他直接存储辅助存储设备而设计的一种平衡二叉查找树(通常说的B树是B-树,在1972年由R.Bayer和E.M.McCreight提出,B树…

七大查找算法

原文:http://www.cnblogs.com/yw09041432/p/5908444.html 七大查找算法 阅读目录 1. 顺序查找2. 二分查找3. 插值查找4. 斐波那契查找5. 树表查找6. 分块查找7. 哈希查找 查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常…

android垂直公告,【Android之垂直翻页公告】

该源码是android studio版本,本文最后提供的是eclipse版本,以供大家学习参考。效果如图:源码分析:核心类:MarqueeView.java核心思想是根据公告内容的数量动态生成相应数量的TextView对象,将所有的TextView对…

python enumerate 行号 序号

原文:http://blog.csdn.net/churximi/article/details/51648388 python enumerate用法总结 enumerate()说明 enumerate()是python的内置函数enumerate在字典上是枚举、列举的意思对于一个可迭代的(iterable)/可遍历的对象(如列表、…

android如何避免内存泄露,Android开发中应该避免的内存泄露

一、背景和目的:目前许多开发人员在Android开发过程中,较少关注实现细节和内存使用,容易会造成内存泄露,导致程序OOM。本文会通过代码向大家介绍在Android开发过程中常见的内存泄露。二、常见的内存泄露代码1、使用Handler造成的内…

二叉树深度优先遍历和广度优先遍历

二叉树深度优先遍历和广度优先遍历

华为鸿蒙第一期名单,机型正式确认,鸿蒙2.0第一批名单曝光!花粉:华为不够厚道...

最新消息:华为的鸿蒙OS2.0暂定在12月18日开放Beta测试版本,明年一二月份将面向部分手机用户提供升级渠道(机型下方公布),与此同时,华为方面表示,市面上百分之九十的华为机型都可以升级鸿蒙。鸿蒙姗姗来迟从去年开始&am…

HashMap解决hash冲突的方法

HashMap解决hash冲突的方法 博客分类: jvm虚拟机 在Java编程语言中,最基本的结构就是两种,一种是数组,一种是模拟指针(引用),所有的数据结构都可以用这两个基本结构构造,HashMap也一样。当程序试图将多个 key-value 放…

快速理解平衡二叉树、B-tree、B+tree、B*tree

原文:https://my.oschina.net/u/3370829/blog/1301732 觉得这篇文章比较好,特此分享 1、平衡二叉树 (1)由来:平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构; (2)特点: 平衡二叉树是采用二分法思维把数据按规则组装成一个树形结构的数据,用…

android popupwindow dialog区别,Android PopUpWindow使用详解

释放双眼,带上耳机,听听看~!一、概述1、PopupWindow与AlertDialog的区别最关键的区别是AlertDialog不能指定显示位置,只能默认显示在屏幕最中间(当然也可以通过设置WindowManager参数来改变位置)。而PopupWindow是可以指定显示位置…

深入浅出K-Means算法

深入浅出K-Means算法 摘要:在数据挖掘中,K-Means算法是一种 cluster analysis 的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法。在数据挖掘中,K-Means算法是一种cluster analysis的算法…

kmeans算法原理以及实践操作

原文:http://www.cnblogs.com/dudumiaomiao/p/5839905.html kmeans算法原理以及实践操作(多种k值确定以及如何选取初始点方法) kmeans一般在数据分析前期使用,选取适当的k,将数据聚类后,然后研究不同聚类下数据的特点。 算法原理&…

define 双引号 其他宏_当年宏语言不受欢迎?背后的原因你知道吗?

人类用计算机处理文本主要是依赖宏语言以及一些专用的文本编辑器。事实上,早期的文本编辑器只提供基本的文本编辑功能,然后借助宏语言进行功能扩展。结果人类很快就发现,基于宏扩展的编辑器,功能越复杂,它的行为就越诡…

K-means聚类算法的三种改进(K-means++,ISODATA,Kernel K-means)介绍与对比

原文:http://www.cnblogs.com/yixuan-xu/p/6272208.html K-means聚类算法的三种改进(K-means,ISODATA,Kernel K-means)介绍与对比 一、概述 在本篇文章中将对四种聚类算法(K-means,K-means,ISODATA和Kernel K-means)进行详细介绍,并利用数据集来真实地反…

数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B+树、B*树)

原文:http://blog.csdn.net/sup_heaven/article/details/39313731 数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B树、B*树) 转载 2014年09月16日 12:07:0827624 BST树 即二叉搜索树: 1.所有非叶子结点至…

html载入字体,css怎么导入字体?

在做前端页面的时候,有些内容文字需要通过css来指定第三方的字体进行显示,而不是默认支持的一些字体,这就需要自己制作或者获得字体文件,然后放入对应的字体目录,并通过font-family来指定字体。在 CSS3 之前&#xff0…

奇异值的物理意义

知乎上的解释特别好,非常佩服,在此转载一下,做个笔记 原文:https://www.zhihu.com/question/22237507/answer/28007137 奇异值作用:图片压缩,去燥,模糊等等矩阵的奇异值是一个数学意义上的概念…

mabatisplus怎么给实体类自定义属性_如果你的角色属性可以自定义,你会怎么点?...

如今越来越多的人抱怨小时候学的一些特长,长大之后根本没什么用处,比如乐器、绘画等等。反而是一些实用的比如烹饪和动手能力更受到大家的欢迎。阿庆想说的是,你肯定是没有坚持,到最后自然只能像方仲永一样“泯然众人矣”了。在游…

selector多路复用_超详细的I/O多路复用概念、常用I/O模型、系统调用等介绍

概述当我们要编写一个echo服务器程序的时候,需要对用户从标准输入键入的交互命令做出响应。在这种情况下,服务器必须响应两个相互独立的I/O事件:1)网络客户端发起网络连接请求,2)用户在键盘上键入命令行。我们先等待哪个事件呢&am…

余弦计算相似度度量

目录 pytorch 余弦相似度, 余弦计算相似度度量 pytorch 余弦相似度, 余弦相似度1到-1之间,1代表正相关,0代表不相关,-1代表负相关 def l2_norm(input, axis1):norm torch.norm(input, 2, axis, True)output torc…