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'])
复制代码

 

posted @   美女爱找茬  阅读(238)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示