deque的简单使用
deque 是python提供的一个数据结构,线程安全,功能比list强大
from collections import deque user_list = ['admin', 'root']
user = user_list.pop() # 弹出list尾部的元素, list没有提供操作头部的方法
print(user, user_list) # root ['admin'] """
deque 是线程安全的 GIL保证
list 非线程安全
""" # def __init__(self, iterable=(), maxlen=None)
user_deque = deque(['admin', 'root', 'jet']) # append 添加一个元素到deque的尾部,也即是从右边插入一个元素
user_deque.append('md') # 从头部添加一个元素
user_deque.appendleft('fi') # pop 从尾部弹出一个元素
pop_item = user_deque.pop()
print(pop_item) # 从头部弹出一个元素
pop_left_item = user_deque.popleft() # extent 添加一个deque到原deque中去,合并deque. 注意: 并不会返回一个新的deque
user_deque.extend(deque(('a1', 'a2'))) # 合并deque到的元素到原deque的左边
user_deque.extendleft(deque([123,456])) # 统计个数
count = user_deque.count(123)
print(count) print(user_deque)
deque的简单使用的更多相关文章
- 双端队列 【deque】
题目链接:https://ac.nowcoder.com/acm/contest/1071/D 还是第一次简单运用双端队列.顾名思义:队列的头尾都可以进行插入跟删除操作. 存在于头文件 deque 中 ...
- python3爬虫之入门和正则表达式
前面的python3入门系列基本上也对python入了门,从这章起就开始介绍下python的爬虫教程,拿出来给大家分享:爬虫说的简单,就是去抓取网路的数据进行分析处理:这章主要入门,了解几个爬虫的小测 ...
- vector,list,deque容器的迭代器简单介绍
我们知道标准库中的容器有vector,list和deque.另外还有slist,只不过它不是标准容器.而谈到容器,我们不得不知道进行容器一切操作的利器---迭代器.而在了解迭代器之前,我们得先知道每个 ...
- java-Enumeration,单向队列Queue及双向队列Deque等容器简单使用
1.Enumeration容器使用: package com.etc; import java.util.Enumeration; import java.util.Vector; /* Enumer ...
- Python实战之双向队列deque/queue学习笔记及简单练习
['__add__', '__bool__', '__class__', '__contains__', '__copy__', '__delattr__', '__delitem__', '__di ...
- deque简单解析
deque是支持双端插入删除的容器,oi中用来维护单调队列 声明方式 deque<int> d1;//声明一个叫d1的双向队列 deque<int> d2(d1);//声明一个 ...
- Flags-Ural1225简单递推
Time limit: 1.0 second Memory limit: 64 MB On the Day of the Flag of Russia a shop-owner decided to ...
- STL之序列容器deque
首先看看deque的模板声明: template <class T, class Alloc = allocator<T>> // 原本还有个参数BufSize,现在新版本 ...
- java三篇博客转载 详解-vector,stack,queue,deque
博客一:转载自http://shmilyaw-hotmail-com.iteye.com/blog/1825171 java stack的详细实现分析 简介 我们最常用的数据结构之一大概就是stack ...
随机推荐
- tjuthesis 图标题左对齐修改办法
图标题格式默认是居中的. 将 format 文件里定义图表标题样式部分的 \centering 删去,可变为左对齐. 如下: %% 定制浮动图形和表格标题样式\makeatletter\long\de ...
- Emmet - 自动补全 JSX
VSCode 中设置"emmet.syntaxProfiles": {"javascript": "jsx"} reactjs - JSX ...
- 006-spring-data-elasticsearch 3.0.0.0使用【四】-spring-data之Elasticsearch Repositories
续 二.Elasticsearch Repositories 2.1.简介 2.1.1.Spring命名空间 Spring Data Elasticsearch模块包含一个允许定义存储库bean的自定 ...
- if else 更优雅的写法(转)
https://www.cnblogs.com/y896926473/articles/9675819.html
- G2 基本使用 折线图 柱状图 饼图 基本配置
G2的基本使用 1.浏览器引入 <!-- 引入在线资源 --> <script src="https://gw.alipayobjects.com/os/lib/antv ...
- Vue+Java实现在页面树形展示文件目录
getInfo.class /** * @author Sue * @create 2019-07-16 15:06 **/ @RestController public class getInfo ...
- spring Cloud 之 Eureka、Feign、Hystrix、Zuul、Config、Bus
一.服务发现——Netflix Eureka Eureka包含两个组件: Eureka Server和Eureka Client 1.创建Eureka Server服务端 (1).引入依赖 父工程po ...
- dom元素的自上而下自动滚动
dom元素的自上而下自动滚动 <!doctype html> <html lang="en"> <head> <meta charset= ...
- Mybatis-学习笔记(1)SqlSessionFactory、SqlSession、Mybatis配置文件configuration的属性标签
1.mybatis引入项目,只需要引入mybatis-x.x.x.jar包即可. (当然数据库驱动的引入必不可少) 2.SqlSessionFactory 由SqlSessionFactoryBuil ...
- [BZOJ 2989]数列(CDQ 分治+曼哈顿距离与切比雪夫距离的转化)
[BZOJ 2989]数列(CDQ 分治) 题面 给定一个长度为n的正整数数列a[i]. 定义2个位置的graze值为两者位置差与数值差的和,即graze(x,y)=|x-y|+|a[x]-a[y]| ...