当前位置: 首页 > news >正文

蓝桥杯算法之基础知识(5)

目录

Ⅰ.in方法的使用

Ⅱ.字典的使用

Ⅲ.1MB 、KB、 B、 b(即bit)的转换(必学)

Ⅳ.闰年or平年

Ⅴ.count和counter方法

1. count() 方法的使用场景

2. Counter 类的介绍

3. count() 与 Counter 的区别

4. Counter 的高级应用

5.Counter的另一种使用

Ⅵ.max和min的使用---可以直接连用max(max(lst))

Ⅶ.格式化字符串format

Ⅷ.itertools迭代器

应用实例:使用itertools求前缀和S(n)

Ⅸ.笛卡尔积

Ⅹ.无穷小和无穷大的表示方法


Ⅰ.in方法的使用

在 Python 中,in 是一个用于检查某个元素是否存在于某个容器(如列表、字符串、元组、字典、集合等)中的关键字。
它的使用非常简单且灵活,以下是 in 的常见用法和示例。

1. 在列表中使用 in
检查某个元素是否在列表中:

PYTHON
my_list = [1, 2, 3, 4, 5]
print(3 in my_list)  # 输出:True
print(6 in my_list)  # 输出:False


2. 在字符串中使用 in
检查某个子字符串是否在字符串中:

PYTHON
my_string = "hello world"
print("hello" in my_string)  # 输出:True
print("python" in my_string)  # 输出:False


3. 在元组中使用 in
检查某个元素是否在元组中:

PYTHON
my_tuple = (1, 2, 3, 4, 5)
print(3 in my_tuple)  # 输出:True
print(6 in my_tuple)  # 输出:False


4. 在字典中使用 in
检查某个键是否在字典中:

PYTHON
my_dict = {"name": "Alice", "age": 25}
print("name" in my_dict)  # 输出:True
print("city" in my_dict)  # 输出:False
注意:in 默认检查字典的键,而不是值。如果需要检查值,可以使用 in my_dict.values():PYTHON
print("Alice" in my_dict.values())  # 输出:True


5. 在集合中使用 in
检查某个元素是否在集合中:

PYTHON
my_set = {1, 2, 3, 4, 5}
print(3 in my_set)  # 输出:True
print(6 in my_set)  # 输出:False


6. 在范围(range)中使用 in
检查某个数字是否在 range 中:

PYTHON
my_range = range(1, 10)
print(5 in my_range)  # 输出:True
print(10 in my_range)  # 输出:False


7. in 的否定形式:not in
检查某个元素是否不在容器中:

PYTHON
my_list = [1, 2, 3, 4, 5]
print(6 not in my_list)  # 输出:True
print(3 not in my_list)  # 输出:False


8. in 的使用场景

条件判断:
PYTHON
if "hello" in my_string:print("Found!")
列表推导式:
PYTHON
filtered_list = [x for x in my_list if x in {2, 3, 5}]

Ⅱ.字典的使用

Ⅲ.1MB 、KB、 B、 b(即bit)的转换(必学)

Ⅳ.闰年or平年

Ⅴ.count和counter方法

1. count() 方法的使用场景

count() 主要用于统计某个特定元素在字符串、列表或元组中出现的次数

(1) count() 在字符串中的使用:

word = "banana"
print(word.count("a"))  # 3
print(word.count("na")) # 2

解释:

  • "a""banana" 中出现 3 次。

  • "na" 作为子字符串出现 2 次。

(2) count() 在列表中的使用:

nums = [1, 2, 3, 4, 2, 2, 5]
print(nums.count(2))  # 3

解释:

  • 2 在列表中出现 3 次。

(3) count() 在元组中的使用:

tup = (1, 2, 2, 3, 4, 2)
print(tup.count(2))  # 3

2. Counter 类的介绍

Countercollections 模块中的一个计数器工具,适用于统计可迭代对象中每个元素的出现次数,返回一个类似字典的对象,其中键是元素,值是该元素出现的次数

Counter 的基本使用:

from collections import Counter
​
word = "banana"
counter = Counter(word)  # 统计字符出现次数
print(counter)  
# 输出:Counter({'a': 3, 'n': 2, 'b': 1})

解释:

  • Counter 自动计算 "banana" 中每个字符的出现次数,并返回 Counter 类型对象。

Counter 在列表中的使用:

nums = [1, 2, 3, 2, 2, 4, 3, 1, 5]
counter = Counter(nums)
print(counter)  
# 输出:Counter({2: 3, 1: 2, 3: 2, 4: 1, 5: 1})

3. count()Counter 的区别

特性count()Counter
适用对象字符串、列表、元组任何可迭代对象
统计方式仅能统计一个元素的出现次数统计所有元素的出现次数
返回值类型整数(某个元素的出现次数)Counter字典(所有元素的统计结果)
适合场景需要统计单个元素的出现次数需要统计所有元素的次数,并进行排序或其他分析

4. Counter 的高级应用

(1) 找出出现最多的 n 个元素 (most_common())

word = "banana"
counter = Counter(word)
print(counter.most_common(1))  
# 输出:[('a', 3)],表示 'a' 出现了 3 次,且是最多的

(2) 统计列表中最常出现的前 n 个元素:

nums = [1, 2, 3, 2, 2, 4, 3, 1, 5]
counter = Counter(nums)
print(counter.most_common(2))  
# 输出:[(2, 3), (1, 2)]
# 说明:元素 2 出现 3 次,元素 1 出现 2 次

(3) Counter 可以直接进行出现次数加减运算:

c1 = Counter("banana")
c2 = Counter("band")
print(c1 + c2)  
# 输出:Counter({'a': 4, 'n': 3, 'b': 2, 'd': 1})

解释:

  • c1 统计 "banana"

  • c2 统计 "band"

  • 相加后,统计结果合并。


5.Counter的另一种使用

》斜线为i-j 对应着y=-x----可以想一下线代矩阵里面的正对角线就是正斜线

反斜线为i+j 对应着y=x

其中r和l一开始都是默认的字典性

Ⅵ.max和min的使用---可以直接连用max(max(lst))

Ⅶ.格式化字符串format

Ⅷ.itertools迭代器

应用实例:使用itertools求前缀和S(n)

Ⅸ.笛卡尔积

Ⅹ.无穷小和无穷大的表示方法


文章转载自:

http://UDMp00BZ.chbcj.cn
http://b3WFfgeo.chbcj.cn
http://gPRFUJKs.chbcj.cn
http://PFsYI07x.chbcj.cn
http://uMBXFnXR.chbcj.cn
http://Rk1F4POp.chbcj.cn
http://h9s3sZxl.chbcj.cn
http://9QexDITf.chbcj.cn
http://RhLUSom1.chbcj.cn
http://AAyR3iuZ.chbcj.cn
http://rSN6CIOU.chbcj.cn
http://KDlGwbct.chbcj.cn
http://uQwRfPA1.chbcj.cn
http://RqLQkZUP.chbcj.cn
http://FYEdCnt5.chbcj.cn
http://GxyDERBU.chbcj.cn
http://2PKK1Lyo.chbcj.cn
http://SSJqUhTx.chbcj.cn
http://WpaiBA84.chbcj.cn
http://ExtxkqUV.chbcj.cn
http://a6eal3lR.chbcj.cn
http://enaX8Cqp.chbcj.cn
http://q1XHpzSL.chbcj.cn
http://oknA1EQX.chbcj.cn
http://89ejIlgp.chbcj.cn
http://KNAnMQzl.chbcj.cn
http://XAXApURC.chbcj.cn
http://J3WC7aQr.chbcj.cn
http://T6Jj6pfz.chbcj.cn
http://L7r0Z2R7.chbcj.cn
http://www.dtcms.com/a/362579.html

相关文章:

  • 基于Spark的新冠肺炎疫情实时监控系统_django+spider
  • 数据结构与算法个人学习代码笔记包含leetcode,海贼oj,蓝桥杯,ACM
  • 华为Fit4:腕间助手,守护你的健康,带你开启智慧生活
  • 【字节拥抱开源】 UXO 团队开源 USO: 通过解耦与奖励学习实现的统一风格与主题驱动生成
  • 2025最新“Java 面试八股文 + 各大厂的面试真题”限时开源
  • 美团 LongCat 开源大模型60 亿参数 MoE 架构,赋能开发者加速 AI 应用落地
  • 本地搭建并使用 Redmine 详细教程
  • CICD 持续集成与持续交付
  • SGLang推理引擎--高效的开源部署方案
  • 【第四章:大模型(LLM)】09.最强开源大模型:Llama3 原理介绍与实现-(6)Llama2 Llama3代码实现
  • Wifi开发上层学习1:实现一个wifi搜索以及打开的app
  • 零依赖每月工作计划备忘录:高效管理你的每一天
  • Qt 创建的C++ 桌面程序 学习笔记1
  • Elasticsearch创建索引分片和副本大小建议
  • iOS XML 处理利器:CNXMLParser 与 CNXMLDocument 深度解析
  • iOS15如何绕过MDM锁?详细图文教程教你搞定
  • 数据结构:基数排序 (Radix Sort)
  • uni-app iOS 性能监控与调试全流程:多工具协作的实战案例
  • Qt中QSettings的键值使用QDataStream进行存储
  • 【Vue2 ✨】Vue2 入门之旅(七):事件处理
  • 从spring MVC角度理解HTTP协议及Request-Response模式
  • 自学嵌入式第三十二天:网络编程-UDP
  • 基于单片机醉酒驾驶检测系统/酒精检测/防疲劳驾驶设计
  • Angular事件处理全攻略:从基础到进阶的完整指南
  • GEO 应用实践研讨会:探索行业新路径,激发企业新活力
  • IoT Power软件 -- 每次开启强制升级解决方法
  • DVWA靶场通关笔记-DOM型XSS(Impossible级别)
  • CentOS7.6
  • 基于Force-closure评估的抓取计算流程
  • gitlab中回退代码,CI / CD 联系运维同事处理