蓝桥杯算法之基础知识5
目录
蓝桥杯算法之基础知识(5)
Ⅰ.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) # 输出:False2. 在字符串中使用 in
检查某个子字符串是否在字符串中:
PYTHON
my_string = "hello world"
print("hello" in my_string) # 输出:True
print("python" in my_string) # 输出:False3. 在元组中使用 in
检查某个元素是否在元组中:
PYTHON
my_tuple = (1, 2, 3, 4, 5)
print(3 in my_tuple) # 输出:True
print(6 in my_tuple) # 输出:False4. 在字典中使用 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()) # 输出:True5. 在集合中使用 in
检查某个元素是否在集合中:
PYTHON
my_set = {1, 2, 3, 4, 5}
print(3 in my_set) # 输出:True
print(6 in my_set) # 输出:False6. 在范围(range)中使用 in
检查某个数字是否在 range 中:
PYTHON
my_range = range(1, 10)
print(5 in my_range) # 输出:True
print(10 in my_range) # 输出:False7. in 的否定形式:not in
检查某个元素是否不在容器中:
PYTHON
my_list = [1, 2, 3, 4, 5]
print(6 not in my_list) # 输出:True
print(3 not in my_list) # 输出:False8. 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)) # 32. Counter 类的介绍
Counter 是 collections 模块中的一个计数器工具,适用于统计可迭代对象中每个元素的出现次数,返回一个类似字典的对象,其中键是元素,值是该元素出现的次数。
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)


Ⅸ.笛卡尔积

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