蓝桥杯Python算法竞赛常用的函数库

  • 博客主页:音符犹如代码
  • 系列专栏:Python
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

目录

math

collectcions

heapq

functool

itertools

常用的库函数


math

math库

常用函数

collectcions

Counter:计数器

用于计数,他可以统计列表中每个元素出现的次数

常用函数

most_common(x):返回出现频率最高的 x 个元素及其出现次数,以元组列表的形式返回

elements():返回一个迭代器,每个元素重复对应次数

clear():清空

字典中使用

数学运算

deque:双端队列

与list功能类似,但是插入和删除操作比list效率快

defaultdict:有默认值的字典

在字典中获益key有两种方式,第一种是get,第二种通过[]获取

使用dict时,当访问一个不存在的key,就会抛出KeyError

如果希望这个key不存在时,会使用提供的默认工厂函数创建一个默认值

OrderredDict:有序字典

  • 与字典基本相同,他会记住元素插入的顺序
  • popitem()函数:
  1. 3.7版本以下的字典随机删除一个键值对然后返回
  2. 3.7版本及以上删除最后一个元素后返回
  3. OrderredDict:可以指定参数last,last默认值为True,可删除最后一个否则删除第一个

heapq

  • 堆:完全二叉树,通常分为最大堆和最小堆,heapq(默认为最小堆)
  • 每个父亲节点的值都小于或等于其左右子节点的值,这就符合了最小堆的特性

  • 首先使用list表示一个堆

1.将无序list转化为最小堆:

heapq.heapify(a)

2.在最小堆a中添加元素x:

heapq.heappush(a,x)

3,弹出并返回最小元素:

heapq.heappop(a)

4.弹出并返回最小元素,同时添加元素x:

heapq.heapreplace(a,x)

functools

  • 它提供了一些用于处理函数和可调用对象的工具函数,主要用于高阶函数的操作,即作用于函数或返回其他函数的函数
  • 我们这里只讲解偏函数:partial
  • partial:"冻结" 用于部分应用一个函数的参数,创建一个新的函数,新函数可以在原函数的基础上预先设置一部分参数,从而减少需要传递的参数数量

functools.partial(func,*args,**keywords)

  • func:需要被扩展的函数,返回的是一个类func形式的函数
  • *args:需要被固定位置的参数
  • **kwargs:需要被固定关键字的参数

itertools

迭代器的模块

  • 无限迭代器
  • 有限迭代器
  • 组合和排列迭代器

无限迭代器

  • 生成长度为无限的迭代器
  • count():产生无限递增的整数序列
  • cycle():无限循环地迭代给定的可迭代对象
  • repeat(object[,times]):创建一个迭代器,如果没有指定times则无限循环遍历objec,否则遍历指定次数

有限迭代器

  • accumulate:创建一个迭代器,返回累计汇总的值或其他双目运算函数的累计结果的值
  • accumulate([1,2,3,4,5]) --> 1 3 6 10 15
  • accumulate([1,2,3,4,5],max)  --> 1 2 3 4 5
  • accumulate([1,2,3,4,5],operator.mul)  --> 1 2 6 24 120
  • chain():合并多个迭代器
  • chain('ABC','DEF') --> A B C D E F

组合和排列迭代器

  • product(*iterables.repeat=1):可迭代对象的笛卡尔积

        1.*iterables:表示可迭代对象

        2.repeat:表示这些可迭代序列重复的次数

product([1,2,3],[4,5,6])
product('qw',repeat=2)
product('qw','er')
  • permutations(interable,r=None):由iterable元素生成长度为r的排列,如果r未指定为Noe,r默认设置为长度为iterable的长度
permutations('ABCD',2)
permutations([1,2,3,4])

常用的库函数

内置函数:python中自带的函数,不需要导入模块即可拿来使用的函数

1.操作数学方面的函数:

abs:绝对值 complex:构建虚数
round:四舍五入 divmod:返回商和余数
sum:求和 eval:执行字符串表达式,返回表达式的值
max:最大值 hex:转化为16进制
min:最小值 oct:转化为8进制
pow:幂次 bin:转化为2进制

2.操作序列和集合方面的函数

len:求长度 sorted:排序 zip:打包成元组
enumerate:枚举 range:生成数字序列 reversed:翻转

3.操作类型转化和判断的函数

int:整型 dict:字典
folat:浮点型 tuple:元组
bool:布尔 type:对象类型
str:字符串 id:对象唯一标识
list:列表 chr:整型转化为字符
set:集合 ord:字符转化为整型

4.其他常用的函数:

help:查看函数或模块用法的说明 input:输入
all:判断可迭代对象是否都为True print:输出
any:判断可迭代对象是否有一个为True iter:生成迭代器
dir:获取当前范围内的属性列表 next:迭代器下一个
hasattr:判断对象是否存在属性 map:序列做映射
getattr:对象的属性值

相关推荐

  1. python 常用

    2024-07-21 16:34:02       37 阅读
  2. 算法竞赛常用函数

    2024-07-21 16:34:02       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 16:34:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 16:34:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 16:34:02       45 阅读
  4. Python语言-面向对象

    2024-07-21 16:34:02       55 阅读

热门阅读

  1. web前端 React 框架面试200题(一)

    2024-07-21 16:34:02       15 阅读
  2. Kali Linux渗透测试

    2024-07-21 16:34:02       18 阅读
  3. 【LeetCode 0338】【位运算/递归式】求比特位

    2024-07-21 16:34:02       15 阅读
  4. 使用scikit-learn进行机器学习:基础教程

    2024-07-21 16:34:02       20 阅读
  5. 机器学习 -逻辑回归的似然函数

    2024-07-21 16:34:02       14 阅读
  6. oracle 11G long类型如何转换 CLOB

    2024-07-21 16:34:02       16 阅读
  7. CentOS(7.x、8)上安装EMQX

    2024-07-21 16:34:02       17 阅读
  8. Windows 使用 MinGW 编译 OpenCV

    2024-07-21 16:34:02       17 阅读
  9. 【C++之智能指针知识】

    2024-07-21 16:34:02       15 阅读
  10. C++分组背包问题_动态规划dp_背包_算法竞赛

    2024-07-21 16:34:02       17 阅读
  11. Qt编程技巧总结篇(5)-信号-槽-多线程(四)

    2024-07-21 16:34:02       17 阅读
  12. cannot import name ‘OrderedDict‘ from ‘typing‘

    2024-07-21 16:34:02       15 阅读
  13. GFS分布式文件系统

    2024-07-21 16:34:02       15 阅读