Python deque extendleft() 方法:从头部高效添加多个元素

collections.deque 类是 Python 标准库 collections 模块提供的双端队列(double-ended queue)数据结构。deque 类提供了 extendleft() 方法,用于在双端队列的左侧(头部)一次性添加多个元素。这种方法使得您可以高效地将一个序列(如列表、元组、另一个deque等)的所有元素添加到现有deque的头部,而不必逐个调用 appendleft() 方法。

extendleft() 方法的基本用法如下:

deque.extendleft(iterable)

参数说明:

  • iterable:一个可迭代对象,包含要添加到 deque 头部的元素。它可以是列表、元组、集合、字符串、range对象、另一个deque,或者其他任何实现了迭代协议的对象。

示例:

from collections import deque

# 创建一个初始的 deque 示例
dq = deque([4, 5, 6])

# 定义一个可迭代对象(列表)
new_elements = [1, 2, 3]

# 使用 extendleft() 方法将新元素添加到 deque 的头部
dq.extendleft(new_elements)

# 打印扩展后的 deque 内容
print(dq)  # 输出:deque([1, 2, 3, 4, 5, 6])

在这个示例中,我们首先创建了一个包含 [4, 5, 6] 的 deque。接着定义了一个列表 new_elements,包含 [1, 2, 3]。通过调用 dq.extendleft(new_elements),将列表中的所有元素依次添加到 deque 的头部。最后打印 dq,显示已成功将新元素加入到了原 deque 的左侧。

注意:

  • extendleft() 方法不会改变传入的 iterable,而是仅将其内容复制并添加到 deque 中。
  • 与 extend() 方法在右侧添加元素不同,extendleft() 会按照逆序(从左到右)将 iterable 中的元素添加到 deque 头部。这意味着 iterable 中的第一个元素会被添加为 deque 新的头部元素,最后一个元素则成为离原头部最近的新元素。
  • 该方法执行后,原始 deque 的长度会增加,反映出添加了新的元素。
  • 如果希望在 deque 右侧(末尾)一次性添加多个元素,可以使用 extend() 方法。

存档地址:https://www.yuque.com/worthstudy/study/agfb6r5i6ptdzz0d?singleDoc# 《extendleft()》

© 版权声明
THE END
喜欢就点赞支持一下吧,如果觉得不错或日后有所需要,可以收藏文章和关注作者哦。
点赞0打赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容