文章目录
-
-
- 一. 双向队列deque
-
- 1. append():添加元素x到队列右端
- 2. appendleft():添加元素x到队列左端
- 3. clear():移除所有元素,使其长度为0
- 4. copy():创建一份浅拷贝
- 5. count():计算 deque 中元素等于 x 的个数
- 6. extend():扩展deque的右侧,通过添加iterable参数中的元素
- 7. extendleft():扩展deque的左侧,通过添加iterable参数中的元素。注意对左添加时,在结果中iterable参数中的顺序将被反过来添加
- 8. index():返回元素 x 在 deque 中的位置(在索引 start 之后,索引 stop 之前)。 返回第一个匹配项,如果未找到则引发 ValueError
- 9. insert():在位置 i 插入 x ,如果插入会导致一个限长 deque 超出长度 maxlen 的话,就引发一个 IndexError
- 10. pop():移去并且返回deque 最右侧的那一个元素。 如果没有元素的话,就引发一个 IndexError
- 11. popleft():移去并且返回一个元素,deque 最左侧的那一个元素。 如果没有元素的话,就引发 IndexError
- 12. remove(value):移除找到的第一个 value。 如果没有的话就引发 ValueError
- 13. reverse():将deque逆序排列,返回 None
- 14. rotate(n=1):向右循环移动 n 步。 如果 n 是负数,就向左循环。如果deque不是空的,向右循环移动一步就等价于 d.appendleft(d.pop()) , 向左循环一步就等价于 d.append(d.popleft())
- 15. maxlen:Deque的最大尺寸,如果没有限定的话就是 None
- 16. 其他操作
- 二. 参考链接
-
一. 双向队列deque
双端队列,可以快速的从另外一侧追加和推出对象,deque是一个双向链表,针对list连续的数据结构插入和删除进行优化。
它提供了两端都可以操作的序列,这表示在序列的前后你都可以执行添加或删除操作。双向队列(deque)对象支持以下方法:
1. append():添加元素x到队列右端
###定义deque(字符串形式)
d = deque('ghi')
##或者列表形式定义deque:
# d = deque(['g', 'h', 'i'])
d.append('j')
d
deque(['g', 'h', 'i', 'j'])
2. appendleft():添加元素x到队列左端
d.appendleft('f')
d
deque(['f', 'g', 'h', 'i', 'j'])
3. clear():移除所有元素,使其长度为0
d = deque('ghi')
d.clear()
d
deque([])
4. copy():创建一份浅拷贝
d = deque('xiaoweuge')
y = d.copy()
print(y)
deque(['x', 'i', 'a', 'o', 'w', 'e', 'u', 'g', 'e'])
5. count():计算 deque 中元素等于 x 的个数
d = deque('xiaoweuge-shuai')
d.count('a')
2
6. extend():扩展deque的右侧,通过添加iterable参数中的元素
a = deque('abc')
b = deque('cd')
a.extend(b)
a
deque(['a', 'b',

文章详细介绍了Python内置的collections模块中的deque数据结构,它是一个双端队列,支持在两端高效地添加和删除元素。主要方法包括append(),appendleft(),clear(),copy(),count(),extend(),extendleft(),index(),insert(),pop(),popleft(),remove(),reverse(),rotate()等。此外,deque还具有maxlen属性以限制其最大长度。文章通过实例演示了这些方法的使用。
最低0.47元/天 解锁文章
1060

被折叠的 条评论
为什么被折叠?



