【备战蓝桥杯】探索Python内置标准库collections的使用

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

🌈个人主页: Aileen_0v0
🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法
💫个人格言:“没有罗马,那就自己创造罗马~”

Our attitude toward life determineslife's attitude towards us.

文章目录

  • 标准库collections
    • Counter:计数器
    • Dequeue:双端队列
    • defaultdict:有默认值的字典
    • OrderedDict:有序字典

标准库collections

collections这个标准库中包含了很多的容器,这个库里面的工具是基于我们学过的容器如字典,元组扩展的。

Counter:计数器

Counter本身就是一个字典

无计数器的技术方法:

a = ["apple","banana","apple","cat","cat","cat","dog"]
b = {}
for x in a:b[x] = b.get(x,0) + 1
print(b)

运行结果:
在这里插入图片描述

用计数器的技术方法:

from collections import  Counter
a = ["apple","banana","apple","cat","cat","cat","dog"]
b =Counter(a)
print("type(b) = ",type(b))
print("b = ",b)

运行结果:
在这里插入图片描述
常见用法:

from collections import  Counter
a = Counter()               #空Counter
print(a)
a = Counter("Hello World")  #统计每个字符
print(a)
a = Counter([1,2,3,1,2])    #统计每个元素出现次数
print(a)

运行结果:
在这里插入图片描述
数学运算:

from collections import  Counter
c = Counter(a=3,b=1)
d = Counter(a=2,b=2)
print("c+d =",c+d)
print("c-d =",c-d)
print("c&d =",c&d) #与运算,取c和d的交集
print("c|d =",c|d) #并集

运行结果:
在这里插入图片描述

Dequeue:双端队列

大部分操作和list类似,但是删除和插入操作比list更高效
方法功能
append(x)添加x 到右端
appendleft(x)添加x到左端
pop()移去并且返回一个元素,deque 最右侧的那一个。
popleft()移去并且返回一个元素,deque 最左侧的那一个。
insert(i, x)在位置i插入X。
extend(iterable)扩展deque的右侧,通过添加iterable参数中的元素
extendleft(iterable)扩展deque的左侧,通过添加iterable参数中的元素。 注意,左添加时,在结果中iterable参数中的顺序将被反过来添加。
remove(value)移除找到的第一个 value。
clear()清空
copy()拷贝
count(x)计算deque中元素等于x的个数
index(x[,start[,stop]])返回x在deque中的位置(在索引start之后,索引stop之前)
reverse()将deque逆序排列。
rotate(n=1)向右循环移动n步。如果n是负数,就向左循环。
maxlenDeque的最大尺寸,如果没有限定就是None。
from collections import  deque
a = deque([1,2,3,4,1,4,2,4])
print("a = ",a)
#将整个列表向右挪一位
a.rotate(1)
print("a = ",a) #a =  deque([4, 1, 2, 3, 4, 1, 4, 2])
#将整个列表向左挪两位
a.rotate(-2) #a =  deque([4, 1, 2, 3, 4, 1, 4, 2])

defaultdict:有默认值的字典

from collections import defaultdict
s = [('yellow',1),('blue',2),('yellow',3),("blue",4),("red",1)]
d = defaultdict(list)
for k,v in s:d[k].append(v)print(d)

运行结果:
在这里插入图片描述

OrderedDict:有序字典

from collections import OrderedDict
data = [("a",1),("b",2),("c",3)]
d = dict(data)
print(d)
while len(d) != 0:print("删除的元素为:",d.popitem())print("d = ",d)

在这里插入图片描述
](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/631667.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用3D渲染效果图时,需要注意什么?

要用3D渲染效果图,您需要使用3D建模软件来创建三维模型、材质、灯光和相机等元素,并使用渲染引擎将它们渲染成逼真的图像。那么用3D渲染效果图需要注意什么? 在用3D渲染效果图时,您需要注意以下几点: 1、模型精度:模型…

【HTML】-- 01 初识HTML

HTML 1.初识HTML Hyper Text Markup Language:超文本标记语言 1.1 W3C标准 W3C World Wide Web Consortium(万维网联盟)成立于1994年,Web技术领域最权威和最具影响力的国际中立性技术标准机构http://www.w3.org/http://www.chinaw3c.org/ W3C标准包括…

python生成列表坑

Python 生成只有重复元素(本例此重复元是空 list)的列表有两种方式: 乘法(*)生成:[[]] * 3循环(for)生成:[[] for _ in range(3)] 这可能在初始化一个用以记录结果的嵌…

解决go文件操作报错bad file descriptor

目录 问题解决 常见的打开模式 问题解决 出现于调用os.Open来打开的文件进行写操作时报的错,原因在于Open函数: func Open(name string) (*File,error) {return OpenFile(name, O_RDONLY, 0) } Open调用了OpenFile,而OpenFile默认以只读…

LeetCode 每日一题 Day 46 ||枚举

2744. 最大字符串配对数目 给你一个下标从 0 开始的数组 words &#xff0c;数组中包含 互不相同 的字符串。 如果字符串 words[i] 与字符串 words[j] 满足以下条件&#xff0c;我们称它们可以匹配&#xff1a; 字符串 words[i] 等于 words[j] 的反转字符串。 0 < i <…

如何批量修改文件名顺序编号?

如何批量修改文件名顺序编号&#xff1f;批量修改文件名顺序编号&#xff0c;指的是对多个文件名进行统一的修改&#xff0c;为每个文件名添加一个顺序编号。例如&#xff0c;将文件夹中的一组文件从"file1", "file2", "file3" 修改为 "001…

CentOS使用docker本地部署StackEdit Markdown编辑器并实现公网访问

文章目录 1. docker部署Stackedit2. 本地访问3. Linux 安装cpolar4. 配置Stackedit公网访问地址5. 公网远程访问Stackedit6. 固定Stackedit公网地址 StackEdit是一个受欢迎的Markdown编辑器&#xff0c;在GitHub上拥有20.7k Star&#xff01;&#xff0c;它支持将Markdown笔记保…

【JMeter】JMeter连OceanBase数据库

1、下载OB&#xff08;OceanBase简称&#xff0c;下同&#xff09;&#xff0c;下载地址&#xff1a;https://www.oceanbase.com/softwarecenter-enterprise 2、将下载下来的jar包放到jmeter安装目录的 lib 目录下&#xff0c;或者打开JMeter客户端&#xff0c;在测试计划中引入…

Tide Quencher 7.2 CPG 500A ,TQ7.2 CPG 500A,可以提高荧光标记物的淬灭效果

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;荧光淬灭剂Tide Quencher 7.2 CPG 500A&#xff0c;Tide Quencher 7.2 CPG 500A &#xff0c;TQ7.2 CPG 500A 一、基本信息 产品简介&#xff1a;The fluorescence quencher Tide Quencher 7.2 CPG 500A can quench…

如何卸载旧版docker

环境&#xff1a; Docker1.13 centos7.6 问题描述&#xff1a; 如何卸载旧版docker 解决方案&#xff1a; 1.停止Docker服务。使用以下命令停止Docker服务&#xff1a; sudo service docker stop2.卸载Docker软件包。根据您的Linux发行版&#xff0c;使用适当的包管理器来…

IP 地址如何进行动态分配?

由于 IP 地址资源的有限性&#xff0c;大部分用户上网都是使用动态 IP 地址&#xff0c;而不是静态 IP 地址。动态 IP 地址指的是在需要的时候才进行 IP 地址分配的方式&#xff0c;而静态 IP 地址是固定分配一个 IP 地址&#xff0c;每次都用这一个地址。因此&#xff0c;IP 地…

[三]H264编码和 MediaCodec

[三]H264编码和 MediaCodec 一.MediaCodec二.H264二.使用Nginx搭建自己的rtmp服务器1.nginx是什么&#xff1f;2.环境准备 三、搭建过程1.安装编译 nginx 所需要的库2.下载 nginx-1.21.6.tar.gz3.下载 nginx-rtmp-module 4.解压5.编译6.启动nginx&#xff0c;检测nginx是否能成…

使用Go语言处理Excel文件的完整指南

xcel文件是广泛用于存储和处理数据的常见文件格式。在Go语言中&#xff0c;有许多库和工具可用于处理Excel文件。本文将介绍如何使用Go语言处理Excel文件&#xff0c;包括读取、写入和修改Excel文件&#xff0c;以及处理单元格、行和列等操作。无论是从头开始创建Excel文件&…

算法练习-长度最小的子数组(思路+流程图+代码)

难度参考 难度&#xff1a;简单 分类&#xff1a;数组 难度与分类由我所参与的培训课程提供&#xff0c;但需要注意的是&#xff0c;难度与分类仅供参考。以下内容均为个人笔记&#xff0c;旨在督促自己认真学习。 题目 给定一个含有个正整数的数组和一个正整数s&#xff0c;找…

android 中一个app中打开另一个app

Android 在一个APP里打开另一个APP_android apk 内嵌其他apk的窗口-CSDN博客 项目&#xff1a;DemoA,DemoB

智慧门店:如何利用AI视频智能监管与存储技术让门店降本增效?

一、行业背景 TSINGSEE青犀视频智慧门店解决方案是一种集成了人工智能、大数据、物联网等技术的零售解决方案&#xff0c;目的是提高门店的运营效率、用户体验和业绩。随着数字化转型的加速&#xff0c;连锁门店需要跟上时代的步伐&#xff0c;需要利用数字化手段提高运营效率…

【记录】解决 git 仓库突然出现连接失败

问题描述 今天在 push 代码代码的时候突然发现无法 push(但是我可以正常打开 Gihub)&#xff0c;这可不行&#xff0c;我可是 git 的重度使用者&#x1f60d;&#xff0c;我所有的代码都托管在了 Github 上&#xff0c;没有它我的日子怎么活啊&#xff01;&#xff01;&#x…

Linux系统三剑客之grep和正则表达式的介绍(一)

1.正则表达式 目录 1.正则表达式 1.什么是正则表达式 &#xff1f; 2.正则表达式的使用场景 3.正则表达式字符表示 4.它们之间的区别 2.grep命令 作用&#xff1a; 语法&#xff1a; 说明&#xff1a; 选项&#xff1a;options 重点 实例 3.后面的下次再更新。 …

cf-920-div3

title: cf 920 div3 date: 2024-01-17 20:10:16 tags: vp categories: 比赛 A. Square 题目大意 给出四个坐标点&#xff0c;求正方形面积 解题思路 最小的最小&#xff0c;最大的最大。 代码实现 void solve() {int xmax -1e9, xmin 1e9, ymax -1e9, ymin 1e9;for (int …

始祖鸟母公司亚玛芬冲刺IPO:持续大额亏损,凸显安踏全球化野心

2024年赴美上市第一枪&#xff0c;由户外运动品牌始祖鸟母公司亚玛芬打响。 近日&#xff0c;安踏体育&#xff08;HK:02020&#xff0c;下称“安踏”&#xff09;旗下合营公司Amer Sports Holding&#xff08;Cayman&#xff09;Limited&#xff08;下称“AS Holding”&#…