当前位置: 首页 > news >正文

视频网站开发需要什么插件seo顾问阿亮博客

视频网站开发需要什么插件,seo顾问阿亮博客,网站优化推广培训,长春网站建设新格Python中的heapq模块 文章目录 Python中的heapq模块1.heapq的方法2.使用heapq创建堆3.使用heapq实现堆排序4.获取堆中的前n个最大值或最小值Reference heapq模块实现了堆队列的算法#xff0c;即优先队列算法。heapq其实是实现了一种小顶堆#xff0c;所以使用pop()方法返回的…Python中的heapq模块 文章目录 Python中的heapq模块1.heapq的方法2.使用heapq创建堆3.使用heapq实现堆排序4.获取堆中的前n个最大值或最小值Reference heapq模块实现了堆队列的算法即优先队列算法。heapq其实是实现了一种小顶堆所以使用pop()方法返回的是当前堆中的最小元素。 1.heapq的方法 方法功能heapq.heappush(heap, item)将item的值加入到heap中保持堆的不变性heapq.heappop(heap)弹出并返回heap中的最小值保持堆的不变性。heapq.heappushpop(heap, item)将item放入堆中然后弹出并返回heap中的最小元素这个操作比先调用heappush()再调用heappop()效率更高。heapq.heapify(x)将list x转换成堆heapq.heapreplace(heap, item)弹出并返回 heap 中最小的一项同时推入新的 item。heapq.nlargest(n, iterable, keyNone)从 iterable 所定义的数据集中返回前 n 个最大元素组成的列表。heapq.nlargest(n, iterable, keyNone)从 iterable 所定义的数据集中返回前 n 个最小元素组成的列表。heapq.merge(*iterables, keyNone, reverseFalse)将多个已排序的输入合并为一个已排序的输出 2.使用heapq创建堆 有两种方法可以用于创建堆第一种是直接使用方法heapq.heapify(iterable)直接将可迭代的对象转换成小顶堆。第二种方法是使用heapq.push(heap, item)将元素手动放入指定的heap中。 import heapq array [5, 7, 9, 0, 3, 2, 1, 6, 4, 8] # 1.使用heapq.push来创建 heap [] for num in array:heapq.heappush(heap, num) print(array:, array) print(heap:, heap) # 2.使用heapify来创建 heapq.heapify(array) print(array:, array)array: [5, 7, 9, 0, 3, 2, 1, 6, 4, 8] heap: [0, 3, 1, 4, 5, 9, 2, 7, 6, 8] array: [0, 3, 1, 4, 5, 2, 9, 6, 7, 8]特别注意的是堆元素可以为元组这有利于以下做法——在被跟踪的主记录旁边添一个额外的值例如任务的优先级用于互相比较我们只需要将排序的值放在元组的第一个位置即可 import heapq heap [] heapq.heappush(heap, (5, Alex)) heapq.heappush(heap, (2, Ben)) heapq.heappush(heap, (0, David)) heapq.heappush(heap, (1, Elon)) print(heap:, heap) heapq.heappop(heap) print(heap:, heap)heap: [(0, David), (1, Elon), (2, Ben), (5, Alex)] heap: [(1, Elon), (5, Alex), (2, Ben)]这里我们按照tuple中第一元素即这个数字来进行比较构成堆我们弹出的最小的元素是值为0的David。 import heapq heap [] heapq.heappush(heap, (Alex, 5)) heapq.heappush(heap, (Ben, 2)) heapq.heappush(heap, (David, 0)) heapq.heappush(heap, (Elon, 1)) print(heap:, heap) heapq.heappop(heap) print(heap:, heap)heap: [(Alex, 5), (Ben, 2), (David, 0), (Elon, 1)] heap: [(Ben, 2), (Elon, 1), (David, 0)]如果我们反过来使用名字来排序构成堆我们弹出的最小元素是ASCII码最小的A即Alex。 3.使用heapq实现堆排序 我们可以将待排序的数据构建成一个小顶堆每次从堆顶弹出数据收集弹出的数据这样我们就可以获得一个排完序的序列。 import heapq array [5, 7, 9, 0, 3, 2, 1, 6, 4, 8] heapq.heapify(array) res [heapq.heappop(array) for _ in range(len(array))] print(heap sort result:, res)heap sort result: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]4.获取堆中的前n个最大值或最小值 import heapq array [5, 7, 9, 0, 3, 2, 1, 6, 4, 8] print(3 largest value:,heapq.nlargest(3, array)) print(3 smallest value:,heapq.nsmallest(3, array))3 largest value: [9, 8, 7] 3 smallest value: [0, 1, 2]Reference heapq官方文档 Python heapq库的用法介绍
http://www.pierceye.com/news/788468/

相关文章:

  • 上海专业做网站公司地址软文代写
  • 家居网站源码宁波专业建设网站建站公司
  • 成都网站建设 Vr功能 卓 公司网站后台管理系统怎么用
  • 微站网建站系统南昌科技网站建设
  • 商家网站建设模板快速备份wordpress
  • 网站建设推广价格肯德基网站建设
  • 网站开发课程百度云平湖公司做网站
  • 手机网站建设品牌什么是企业云网站建设
  • 烟台网站建设推荐企汇互联见效付款58同城网站模板
  • 琪恋网站建设深圳3d网站建设
  • 做ic用什么网站软文代写平台
  • 厦门网站建设 九来网站建设公司如何发展
  • 广州 网站的设计公司耒阳市古雍网站建设店
  • 保定网站推广费用网站搜索 收录优化
  • 三河市建设厅公示网站个人flash网站
  • 建设网站工具上海网站制作团队
  • 化妆品网站系统规划wordpress 站群软件
  • 深圳低价做网站广告免费设计在线生成
  • 网站服务体系网站开发补充合同范本
  • 萝岗做网站网站优化大计
  • 服装店网站模板北京网站设计公司哪个好
  • 网站运维工作内容网页设计与制作课程小结
  • 2019网站怎么做网站快速备案公司
  • 上饶网站制作专业网站设计如何提升网页品质
  • 哈尔滨微信网站建设学网站设计和平面设计
  • 网站开发公司网站官网焦作建设企业网站公司
  • 设备上哪个网站做外贸推广php版本不同于wordpress使用
  • 虚拟服务器怎样做网站广州 骏域网站建设专家
  • 谁有做任务网站色多多导入百媚导航
  • 做网站怎么加视频素材网免费