`
yr512656630
  • 浏览: 321542 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

python set集合 heapq堆模块 双端队列deque

 
阅读更多
=========================================set集合=======================
>>> set(range(10))
set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> a = set([1,2,3])
>>> b = set([2,3,4])
>>> a.union(b)
set([1, 2, 3, 4])
>>> a|b
set([1, 2, 3, 4])
>>> a&b
set([2, 3])

集合的遍历
>>> for x in a:
print x
集合的增删
>>> 1 in a
True
>>> 1 not in a
False
>>> a.add(4)
>>> a
set([1, 2, 3, 4])
>>> a.remove(4)
>>> a
set([1, 2, 3])


s.update(t)
s |= t
返回增加了 set “t”中元素后的 set “s”

s.intersection_update(t)
s &= t
返回只保留含有 set “t”中元素的 set “s”

s.difference_update(t)
s -= t
返回删除了 set “t”中含有的元素后的 set “s”

s.symmetric_difference_update(t)
s ^= t
返回含有 set “t”或者 set “s”中有而不是两者都有的元素的 set “s”

s.add(x)

向 set “s”中增加元素 x

s.remove(x)

从 set “s”中删除元素 x, 如果不存在则引发 KeyError

s.discard(x)

如果在 set “s”中存在元素 x, 则删除

s.pop()

删除并且返回 set “s”中的一个不确定的元素, 如果为空则引发 KeyError

s.clear()

删除 set “s”中的所有元素



=========================heapq堆模块==================================
>>> from random import shuffle
>>> data = range(10)
>>> data
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> from heapq import *
>>> shuffle(data)
>>> data
[5, 0, 3, 8, 2, 6, 7, 9, 4, 1]
>>> heap=[]
>>> for n in data:
heappush(heap,n)


>>> heap
[0, 1, 3, 4, 2, 6, 7, 9, 8, 5]
>>> heappush(heap,0.5)
>>> heap
[0, 0.5, 3, 4, 1, 6, 7, 9, 8, 5, 2]
>>> heappop(heap)
0
>>> heap
[0.5, 1, 3, 4, 2, 6, 7, 9, 8, 5]





=======================================deque=============================
>>> from collections import deque
>>> q=deque(range(5))
>>> q
deque([0, 1, 2, 3, 4])
>>> q.append(5)
>>> q
deque([0, 1, 2, 3, 4, 5])
>>> q.pop()
5


  • 大小: 52.7 KB
  • 大小: 27.7 KB
分享到:
评论

相关推荐

    python-data-structure-cn python数据结构中文版

    Python的`collections`模块提供了`deque`双端队列,可以方便地实现入队`append()`和出队`popleft()`。 5. **堆(Heap)**:堆是一种特殊的树形数据结构,通常用于优先队列。Python的`heapq`模块提供了堆操作,如`...

    CJLU 2023 Python 数据结构 PTA 作业.zip

    7. **队列(Queue)**:队列是一种先进先出(FIFO)的数据结构,Python的`collections`模块提供了`deque`双端队列,可以实现队列操作。 在"CJLU 2023 Python 数据结构 PTA 作业.zip"中,可能包含了各种基于这些数据...

    python1903笔记 14_DS.zip

    Python的`collections`模块提供了`deque`双端队列,可以高效地实现队列操作。 9. **树(Tree)**:树是一种非线性的数据结构,广泛应用于文件系统、数据库索引、表达式解析等领域。Python中可以通过类和实例化来实现...

    Python数据结构课件.rar

    Python的collections模块提供了deque(双端队列)类,支持在两端添加和删除元素。 8. 序列解包(Unpacking):Python允许将序列(如列表或元组)的元素解包到多个变量中,简化了代码的可读性。 9. 列表推导式(List ...

    Python 中文数据结构和算法教程.rar

    高级数据结构:如双端队列(deque)、堆(heapq)、图(网络x等库)和哈希表(使用内置的dict或第三方库如bloomfilter)的中文应用。 常用算法:排序算法(如快速排序、归并排序、Timsort对中文字符串的性能影响)...

    Python-Python中文数据结构和算法教程

    Python的`collections`模块提供了`deque`双端队列,可以实现先进先出(FIFO)的队列操作,如`append()`、`appendleft()`、`popleft()`、`pop()`等。 9. **排序算法** - 冒泡排序:简单直观,时间复杂度O(n^2)。 - ...

    数据结构与算法-课件-代码-Python语言描述

    `collections`模块中的`Counter`类用于计数,`deque`实现双端队列,`defaultdict`简化了字典的初始化;`set`和`frozenset`类对应集合操作。 此外,课程可能还涵盖了递归、动态规划、贪心算法、回溯法等高级算法思想...

    数据结构和算法的python实现、以及Python实现机器学习算法.zip

    `collections`模块则提供了`deque`双端队列,适合于快速插入和删除操作。此外,`heapq`和`collections`还可以帮助我们实现LRU缓存策略,这是一种常见的内存管理策略。 接着,我们转向算法。算法是一系列解决问题的...

    python数据结构与算法

    12. **队列(Queue)**:先进先出(FIFO)的数据结构,Python的`collections.deque`可以实现双端队列,常用于任务调度、缓存等场景。 13. **字符串处理**:Python的字符串是不可变的,但提供了丰富的字符串操作方法,...

    python-3.5.5 library(英文)

    - `collections` 模块提供了如 `deque`(双端队列)等高效的数据结构。 #### 7. 数值和数学模块 - `math` 模块提供了常用的数学函数,例如 `math.sqrt()` 计算平方根。 - `random` 模块提供了生成随机数的函数,如...

    用python解决数据结构与算法问题.zip

    5. 队列(Queue)和堆(Heap):Python的collections模块提供了队列和堆实现,如deque(双端队列)和heapq库,用于优先级队列等场景。 6. 栈(Stack):LIFO(后进先出)数据结构,可以使用列表模拟实现。 7. 树结构...

    python-用法.doc

    - **队列**:`collections.deque`类提供双端队列功能。 - **堆**:`heapq`模块提供了堆数据结构。 - **链表**:虽然Python没有内置链表,但可以通过类定义实现。 - **树**:可以通过类定义构建二叉树、N叉树等...

    数据结构学习笔记;算法学习笔记;python实现;.zip

    `collections`模块提供了更高级的数据结构,如deque(双端队列)、Counter(计数器)和namedtuple(带名称的元组)。 在学习笔记中,可能会详细解释每种数据结构的特点、操作方法以及它们的优缺点。同时,通过...

    Python 开源项目,保姆级教程:AI实验室、宝藏视频、数据结构、学习指南、机器学习实战、深度学习实战、网络爬虫、大厂面经

    - `collections`模块:提供了多种高级数据结构,如Counter(计数器)、deque(双端队列)和namedtuple(命名元组)。 - `heapq`模块:实现了堆数据结构,支持基本的堆操作。 - `queue`模块:提供线程安全的队列...

    《Python Cookbook》第三版中文v1.0.21

    可以使用collections模块的deque(双端队列)来高效地实现保留最近N个元素的功能,如`from collections import deque; last_n = deque(maxlen=N)`。 4. **查找最大或最小的 N 个元素**: Python的heapq模块提供了...

    python爬虫模块URL管理器模块用法解析

    1. `__init__`: 初始化方法,创建一个空的双端队列`queue`用于存放待爬取URL,以及一个集合`visited`用于记录已访问过的URL。 2. `new_url_size`: 返回待爬取URL的数量。 3. `old_url_size`: 返回已访问URL的数量...

    Python 开源项目之「自学编程之路」

    此外,这个项目可能还会介绍一些实用的Python库,如networkx用于图的构建和分析,heapq用于堆操作,collections模块提供了对高级数据结构的封装,如Counter(计数器)、deque(双端队列)等。通过熟悉并运用这些库,...

    做到这二十条,Python程序性能轻松翻倍!1

    11. **使用适当的数据结构**:根据数据的特性和操作需求,选择最适合的数据结构,如deque(双端队列)用于快速插入和删除,heapq(堆队列)用于优先级队列等。 12. **并行计算**:当处理大量数据或执行独立的任务时...

Global site tag (gtag.js) - Google Analytics