使用python怎么删除堆中的元素

发布时间:2021-04-26 16:38:18 作者:Leah
来源:亿速云 阅读:249

这篇文章将为大家详细讲解有关使用python怎么删除堆中的元素,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

python有哪些常用库

python常用的库:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。

1、使用heappop()删除具有最小值的元素。

import heapq
from heapq_showtree import show_tree
from heapq_heapdata import data
 
print('random    :', data)
heapq.heapify(data)
print('heapified :')
show_tree(data)
print()
 
for i in range(2):
    smallest = heapq.heappop(data)
    print('pop    {:>3}:'.format(smallest))
    show_tree(data)
    
# output
# random    : [19, 9, 4, 10, 11]
# heapified :
#
#                  4
#         9                 19
#     10       11
# ------------------------------------
#
#
# pop      4:
#
#                  9
#         10                19
#     11
# ------------------------------------
#
# pop      9:
#
#                  10
#         11                19
# ------------------------------------

2、要删除现有元素,并在一次操作中用新值替换它们,使用heapreplace()。

import heapq
from heapq_showtree import show_tree
from heapq_heapdata import data
 
heapq.heapify(data)
print('start:')
show_tree(data)
 
for n in [0, 13]:
    smallest = heapq.heapreplace(data, n)
    print('replace {:>2} with {:>2}:'.format(smallest, n))
    show_tree(data)
    
# output
# start:
#
#                  4
#         9                 19
#     10       11
# ------------------------------------
#
# replace  4 with  0:
#
#                  0
#         9                 19
#     10       11
# ------------------------------------
#
# replace  0 with 13:
#
#                  9
#         10                19
#     13       11
# ------------------------------------

关于使用python怎么删除堆中的元素就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. 堆的实现(堆的建立及push、pop元素)
  2. python怎么实现删除列表中某个元素

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:如何在python中创建堆

下一篇:python中truncate的作用是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》