python删除堆中元素的方法

  • 更新时间:2021-08-07 09:42:19
  • 编辑:秦建元
我们帮大家精选了相关的编程文章,网友戈文德根据主题投稿了本篇教程内容,涉及到Python相关内容,已被255网友关注,涉猎到的知识点内容可以在下方电子书获得。

参考资料

正文内容

无意中在网上看到《python删除堆中元素的方法》,实例用法很详细,重新排版了一下发到这里,为了大家阅读方便。

python删除堆中元素的方法

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删除堆中元素的方法,希望对大家有所帮助。更多Python学习指路:

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

相关教程

  • 对python产生随机的二维数组实例详解

    今天小编就为大家分享一篇对python产生随机的二维数组实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    发布时间:2019-06-03

  • python 统计list中各个元素出现的次数的几种方法

    这篇文章主要介绍了python 统计list中各个元素出现的次数的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    发布时间:2021-05-02

用户留言