Python中collections.deque的__init__()构造函数使用指南
发布时间:2023-12-24 12:08:48
collections.deque是Python中的双端队列实现,可以在队列两端进行快速插入和删除操作。deque可以被用作一个队列(先入先出)和堆栈(后入先出)。
deque对象的构造函数__init__()有三个参数可选,它们分别是iterable、maxlen和appendleft。下面将详细介绍这三个参数的使用方法,并配上相应的使用例子。
1. iterable:可选参数,用于初始化双端队列的元素。这些元素将按照迭代器的顺序添加到队列的右侧。如果没有指定iterable参数,默认创建一个空的双端队列。
示例:
from collections import deque # 创建一个双端队列,包含初始元素1、2、3 d = deque([1, 2, 3]) print(d) # 输出: deque([1, 2, 3])
2. maxlen:可选参数,指定双端队列的最大长度。如果没有指定maxlen参数,默认长度为无限大,即队列可以无限增长。
示例:
from collections import deque # 创建一个最大长度为3的双端队列 d = deque(maxlen=3) # 添加元素到队列的右侧 d.append(1) d.append(2) d.append(3) print(d) # 输出: deque([1, 2, 3], maxlen=3) # 再次添加一个元素,超出最大长度时,会自动从队列的左侧删除元素 d.append(4) print(d) # 输出: deque([2, 3, 4], maxlen=3)
3. appendleft:可选参数,指定是否将元素添加到队列的左侧。默认为False,即默认将元素添加到队列的右侧。
示例:
from collections import deque # 创建一个双端队列 d = deque([1, 2, 3]) # 添加元素到队列的左侧 d.appendleft(0) print(d) # 输出: deque([0, 1, 2, 3])
除了构造函数的参数,collections.deque还提供了一些常用的方法,如append()、appendleft()、pop()、popleft()等,用于在队列两端进行元素的插入和删除操作。
以下是一个较为完整的示例,展示了collections.deque的使用方法:
from collections import deque # 创建一个双端队列 d = deque([1, 2, 3]) # 向队列的右侧添加元素 d.append(4) print(d) # 输出: deque([1, 2, 3, 4]) # 向队列的左侧添加元素 d.appendleft(0) print(d) # 输出: deque([0, 1, 2, 3, 4]) # 从队列的右侧删除元素,并返回该元素 x = d.pop() print(x) # 输出: 4 print(d) # 输出: deque([0, 1, 2, 3]) # 从队列的左侧删除元素,并返回该元素 y = d.popleft() print(y) # 输出: 0 print(d) # 输出: deque([1, 2, 3])
通过阅读上述例子,您能对collections.deque的__init__()构造函数有一个基本的了解。根据自己的需要,您可以选择合适的参数进行实例化,并使用其他方法进行队列的插入和删除操作。
