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'])
    三十六般武艺,七十二般变化,修练出个人品牌并发出光芒
  • 相关阅读:
    字典树(Trie)的学习笔记
    kmp学习笔记
    NOIP PJ游记
    Hash学习笔记
    神奇的差分法(内附树状数组的一点扩展)
    DLX算法一览
    A*与IDA*的奇妙之旅
    HDU_2553——n皇后问题,作弊
    HDU_2035——求A^B的最后三位数
    HDU_2034——集合A-B
  • 原文地址:https://www.cnblogs.com/deeptester-vv/p/14976437.html
Copyright © 2011-2022 走看看