Python-Collections模块之deque
deque: (double-ended queue,双端队列),是一种具有队列和栈性质的数据结构,双端队列中的元素可以从两端弹出,相比list增加[]运算符重载
#1、append(x) ,将x添加到deque的右侧: from collections import deque d = deque("abc") print(d) #执行结果: deque(['a', 'b', 'c']) for ele in d: print(ele.upper()) d.append('g') print(d) #执行结果: deque(['a', 'b', 'c', 'g']) #2、appendleft(x): 将x添加到deque的左侧 d = deque('abc') d.appendleft('v') print(d) #执行结果:deque(['v', 'a', 'b', 'c']) #3、clear(): 将deque中的元素全部删除,最后长度为0 d = deque('abc') d.clear() print(d) #执行结果: deque([]) #4、count(x): 返回deque中元素等于x的个数 d = deque('aaabccc') print(d.count('a')) #5、extend(iterable): 将可迭代变量iterable中的元素添加至deque的右侧 d = deque('abc') d.extend('gfh') print(d) #执行结果: deque(['a', 'b', 'c', 'g', 'f', 'h']) #6、extendleft(iterable): 将可迭代变量iterable中的元素添加至deque的左侧,往左侧添加序列的顺序与可迭代变量iterable中的元素相反 d =deque('abc') d.extendleft('yzw') print(d) #执行结果: deque(['w', 'z', 'y', 'a', 'b', 'c']) #7、pop(): 移除和返回deque中最右侧的元素,如果没有元素,将会报出IndexError; d = deque('abc') d.pop() print(d) #执行结果: deque(['a', 'b']) #8、popleft(): 移除和返回deque中最左侧的元素,如果没有元素,将会报出IndexError; d = deque('abc') d.popleft() print(d) #执行结果: deque(['b', 'c']) #9、remove(value): 移除每一次出现的value,如果没有找到,将会报出valueError; d =deque('abc') #d.remove('d') #print(d) #执行结果: ValueError: deque.remove(x): x not in deque #10、reverse(): 反转deque中的元素,并返回None d = deque('abc') print(list(reversed(d))) #执行结果: ['c', 'b', 'a'] #11、rotate(n): 从右侧反转n步,如果n为负数,则从左侧开始反转 d =deque('abc') d.rotate(2) print(d) #执行结果: deque(['b', 'c', 'a']) d.rotate(-2) print(d) #执行结果:deque(['a', 'b', 'c'])
三十六般武艺,七十二般变化,修练出个人品牌并发出光芒
分类:
Python3
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律