当前位置: 首页 > 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://www.xdnf.cn/news/1431811.html

相关文章:

  • GPU 优化 - tensor core 用swizzle 解决bank conflict
  • STM32HAL 快速入门(十六):UART 协议 —— 异步串行通信的底层逻辑
  • PyTorch 训练随机卡死复盘:DataLoader × OpenCV 多进程死锁,三步定位与彻底修复
  • 【lucene】advanceshallow就是遍历跳表的,可以看作是跳表的遍历器
  • vscode下leetcode插件cookie登录
  • MySQL进阶知识梳理
  • 如何用c来编写一个判断闰年平年的微程序呢
  • 静态网站生成利器 Eleventy
  • 大文件稳定上传:Spring Boot + MinIO 断点续传实践
  • leetcode算法刷题的第二十四天
  • 网络数据包是怎么在客户端和服务端之间进行传输的?
  • 【Go语言并发编程:Goroutine调度原理】
  • Flink - 基础学习(1)-三种时间语义
  • PDF翻译怎么弄?一篇文章告诉你答案
  • 线扫相机搭配显微镜:解锁微观世界的 “全景高清” 观察模式
  • go 语言map是线程不安全的如何处理
  • C#实现与西门子S7-1200_1500 PLC通信
  • 【一张图看懂Kafka消息队列架构】
  • AI 在教育领域的落地困境:个性化教学与数据隐私的平衡之道
  • 278-基于Django的协同过滤旅游推荐系统
  • 多个大体积PDF文件怎么按数量批量拆分成多个单独文件
  • sed相关知识
  • 国行 iPhone17 会支持 eSIM 吗?最新爆料与区别解读
  • 华晨宇火星演唱会苏州站连唱三晚 万人狂欢共度浪漫七夕
  • 便携式显示器怎么选?:6大关键指标全解析
  • Windows 命令行:父目录与子目录
  • 科研绘图(二):R 语言实现小鼠脑图谱 3D 渲染,附完整代码与数据获取指南
  • 【Datawhale之Happy-LLM】3种常见的decoder-only模型——Github最火大模型原理与实践教程task07
  • C++的演化历史
  • C语言精选100道编程题(附有图解和源码)