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 @ 2021-07-06 13:13  美女爱找茬  阅读(245)  评论(0)    收藏  举报