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'])
    三十六般武艺,七十二般变化,修练出个人品牌并发出光芒
  • 相关阅读:
    case when then 中判断null的方法
    在SELECT的时候,加入一列固定值
    拿到iframe页面里面的变量及元素的方法
    datatables 多一列报错Cannot read property 'sWidth' of undefined(…)/少一列报错Cannot read property 'style' of undefined(…)
    MySQL 显示表字段及注释等信息
    MYSQL escape用法--转义
    MyBatis insert操作返回主键
    Java关键字final、static使用总结
    数据库往表中插入数据报错
    洛谷 题解 P1287 【盒子与球】
  • 原文地址:https://www.cnblogs.com/deeptester-vv/p/14976437.html
Copyright © 2011-2022 走看看