zoukankan      html  css  js  c++  java
  • 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'])
    三十六般武艺,七十二般变化,修练出个人品牌并发出光芒
  • 相关阅读:
    设计模式-代理模式
    设计模式-桥接模式
    设计模式-组合模式
    设计模式-享元模式
    设计模式-适配器模式
    设计模式-装饰器模式
    设计模式-外观模式
    redis日志格式
    Linux下的文件切割和文件合并
    Windows server 服务器的端口突然远程连不上了,但是可以远程连接,怎么回事?
  • 原文地址:https://www.cnblogs.com/deeptester-vv/p/14976437.html
Copyright © 2011-2022 走看看