Python常用做题笔记

2023-09-14 16:35:26

1 列表/队列/堆栈构建

  • 列表:
    • []声明列表比list()方法效率高
  • 声明队列和堆栈:
  • 法1: 使用[]/list()方法模拟
  • 法2: 使用collections.deque双端队列 模拟队列 append\popleft 模拟堆栈 append\pop
    • collections.deque(): 声明双端队列,初始化传入可迭代对象就行,例如列表/元组/字典均可。deque([iterable[, maxlen]]) --> deque object
    • append(x) 从 deque 最右端加入元素 x
    • appendleft(x) 从 deuqe 最左端加入元素 x
    • extend(iterable) 使用可迭代对象 iterbale 中的元素扩展 deque 右端
    • extendleft(iterable) 使用可迭代对象 iterbale 中的元素扩展 deque 左端
    • insert(i, x) 在 index=i 的位置插入元素 x (若导致 deque 长度超过 maxlen,引发 IndexError)
    • pop() 弹出 deque 最右端的一个元素 (若无元素引发 IndexError),类似del(list[-1])/list.pop()
    • popleft() 弹出 deque 最左端的一个元素 (若无元素引发 IndexError),类似del(list[0])
    • remove(x) 移除从左到右找到的第一个 x (若无 x 引发 ValueError)
    • clear() 清空 deque 中的所有元素,使之为空 deque (长度归0)
    • copy() 创建一份当前 deque 的浅拷贝
    • count(x) 计算 deque 中 x 的个数
    • index(x[, start[, stop]]) 返回在 [start, stop] 之间从左到右找到的第一个 x 的 index (未找到引发 ValueError)
    • reverse() 将当前 deque 逆序排列,返回 None

2 正负无穷默认值

  • float(‘inf’) # 正无穷
  • float(‘-inf’) # 负无穷

3 列表推导式

列表推导式,声明指定长度列表,并填充默认值, [] 效率大于 List
sum = [0 for i in range(len(nums))]

4 列表排序,自带sort, 默认升序

  • list=[1,2,4,5,3]
  • list.sort()默认升序
  • list.sort(reverse=True)降序
  • list=[(1,2),(6,1)]
  • list.sort(key=takeSecond) 按照每组的第二个元素升序

5 del

  • del b # 删除单个变量,删除变量b到0的引用,并且删除变量名称b
  • del a[0] # 删除列表a中的第0个元素0
  • del a[0:3] # 切片删除,删除列表a中的第0-3个元素,含头不含尾

6 list操作

  • list_a.insert(0,3) # 在list_a的0位置上插入3

7 迭代对象list、tuple、set (列表[]、元组()、集合{}),数组:指np生成的同类数据有限集合

8 切片

  • [start : end : step]
    • start:开始下标,从0开始;end:结束下标; step:步长,步长为正时,从左向右取值。步长为负时,从右向左取值,注意:步长不可以为0
    • 举例子:a[::-1] 从后向前输出 a[::-2]从后向前输出,步长为-2、a[:5:-1] 从索引-1开始截到索引5(不包含5)
更多推荐

说说hashCode() 和 equals() 之间的关系?

每天一道面试题,陪你突击金九银十!上一篇关于介绍Object类下的几种方法时面试题时,提到equals()和hashCode()方法可能引出关于“hashCode()和equals()之间的关系?”的面试题,本篇来解析一下这道基础面试题。先祭一张图,可以思考一下为什么?介绍equals()的作用是用来判断两个对象是否相

第二证券:算力概念强势拉升,竞业达涨停,南凌科技等大涨

算力概念20日盘中强势拉升,到发稿,竞业达涨停,南凌科技涨近10%,拓维信息涨近9%,亚康股份、神州数码涨约5%,青云科技涨逾4%。音讯面上,9月19日,国际大学生程序设计竞赛(ICPC)官网披露了华为创始人兼CEO任正非与ICPC基金会及金牌获得者的谈话纪要。任正非表明,我们行将进入波澜壮阔的第四次工业革命,其规划之

Denoising diffusion implicit models 阅读笔记

Denoisingdiffusionprobabilisticmodels(DDPMs)从马尔科夫链中采样生成样本,需要迭代多次,速度较慢。Denoisingdiffusionimplicitmodels(DDIMs)的提出是为了加速采样过程,减少迭代的次数,并且要求DDIM可以复用DDPM训练的网络。加速采样的基本思

许战海战略文库|品类缩量时代:制造型企业如何跨品类打造份额产品?

所有商业战略的本质是围绕着竞争优势与竞争效率展开的。早期,所有品牌立足于从局部竞争优势出发。因此,品牌创建初期大多立足于单个品类。后期增长受限,就要跨品类持续扩大竞争优势,将局部竞争优势转化为长期竞争优势,如果固化不前很难获得增长,也无法成为“链主品牌”。当品类缩量,制造型企业要跨品类打造份额产品第一,聚焦的品类处于增

数据库设计步骤

一、数据库设计重点:有效存储、高效访问1、为什么要进行数据库设计:(1)减少数据冗余;(2)避免数据异常维护;(3)节约存储空间;(4)高效访问;二、数据库设计步骤1、需求分析;2、逻辑设计:ER图等建模;3、物理设计:根据每种数据库特点设计;4、维护优化;三、为什么要进行需求分析1、了解系统中所要存储的数据;2、了解

基于本地持久内存的并行一致性哈希文件系统CHFS

摘要CHFS是一个利用计算节点的持久内存的自适应并行文件系统。该设计完全基于高度可扩展的分布式键值存储,采用一致性哈希算法。CHFS通过消除专用元数据服务器、顺序执行和集中式数据管理,提高了并行数据访问性能和元数据性能的可扩展性。该实施利用了多核和多核CPU、高性能网络和Mochi-Margo库的远程直接内存访问。在一

操作系统备考学习 day3 (2.1.1 - 2.1.6)

操作系统备考学习day3二、进程与线程2.1进程与线程2.1.1进程的概念和特征2.1.2进程的状态与转换2.1.3进程的组织2.1.4进程控制2.1.5进程间通信(IPC)2.1.6线程和多线程模型二、进程与线程2.1进程与线程2.1.1进程的概念和特征进程:是动态的,是程序的一次执行过程。同一个程序多次执行会对应多

C++数据结构 -- 哈希表

目录一、哈希概念二、哈希冲突三、哈希函数四、减少哈希冲突常用的方法4.1闭散列4.1.1闭散列的开放定址法的增容4.1.2闭散列的开放定址法的哈希结构的实现4.3开散列4.3.1开散列概念4.3.2插入元素4.3.2删除元素4.3.3开散列的哈希桶的增容4.3.4开散列的哈希桶(拉链法)代码实现4.3.5关于开散列的思

过拟合和欠拟合:机器学习模型中的两个重要概念

文章目录🍋引言🍋过拟合和欠拟合的概念🍋过拟合和欠拟合的影响与危害🍋过拟合和欠拟合的原因与解决方法🍋过拟合和欠拟合的研究现状与发展趋势🍋过拟合&欠拟合---案例🍋总结🍋引言在机器学习模型中,过拟合和欠拟合是两种常见的问题。它们在模型训练和预测过程中扮演着重要的角色。了解过拟合和欠拟合的概念、影响、解决方法

【SQL】S0 系列博文大纲

系列博文大纲SQL学习环境建议系列博文相关书籍系列博文大纲阶段进展SQL学习环境建议对于SQL语言的学习,博主本地使用:MySQL+DataGrip;MySQL提供本地数据库服务;DataGripIDE,承担编程运行测试任务;DataGrip与Pycharm同属于Jetbrains公司开发IDE产品,个人感觉非常好用,

设计模式汇总

设计模式本质上是某类特定问题的代码设计解决方案,实际上是一套某类问题的代码设计经验总结。(前辈总结的解决某类问题的切实可行的套路)问题1、为什么要使用设计模式?答:1、提高代码复用率,降低开发成本和成周期。2、提高代码可维护性,可扩展性。3、使代码更优雅,更容易被他人理解。问题2、设计模式的设计原则是什么?答:1、单一

热文推荐