文章目录

  • Python序列
    • map函数
    • eval函数
    • divmod
    • sort sorted
    • os与os.path模块
  • 列表
    • 切片
    • 列表推导式
    • 编写算法实现嵌套列表的平铺
    • 列出当前文件夹下所有Python源文件
  • 元组
    • 序列解包(sequence unpacking
    • 生成器推导式
  • 字典
  • 集合
  • 其他数据结构:队列 堆栈 二叉树
  • 程序的控制结构
    • 应用
    • 例:编写程序,判断今天是今年的第几天?
    • 例:计算1+2+3+…+100 的值。
    • 例:输出“水仙花数”。
    • 例:判断一个数是否为素数。
    • 例:生成一个含有20个随机数的列表,
    • 计算百钱买百鸡问题。
    • 例 编写程序,实现十进制整数到其他任意进制的转换。
    • 例 计算前n个自然数的阶乘之和1!+2!+3!+...+n!的值。
    • 例 判断一个数字是否为丑数。
  • 字符串和正则表达式
    • find()、rfind()、index()、rindex()、count()
    • split()
    • join
    • 格式化
    • 与字符串处理有关的标准库
    • 编写程序,把一个英文句子中的单词倒置
    • 例: 编写程序,查找一个字符串中最长的数字子串。
  • 面向对象程序设计
    • self参数:
    • 私有成员和公有成员
    • 类中的方法
    • 属性
    • 继承

Python序列

列表 元组 字典 集合
类型名称 list tuple dict set
定界符 方括号[] 圆括号() 大括号{} 大括号{}
是否可变
是否有序
是否支持下标 是(序号作为下标) 是(序号作为下标) 是(“键”作为下标)
元素分隔符 逗号 逗号 逗号 逗号
对元素形式的要求 键:值 必须可哈希
对元素值的要求 “键”必须可哈希 必须可哈希
元素是否可重复 “键”不允许重复,“值”可以重复
元素查找速度 非常慢 很慢 非常快 非常快
新增和删除元素速度 尾部操作快 其他位置慢 不允许

map函数

>>> def square(x) :         # 计算平方数
...     return x ** 2
...
>>> map(square, [1,2,3,4,5])    # 计算列表各个元素的平方
<map object at 0x100d3d550>     # 返回迭代器
>>> list(map(square, [1,2,3,4,5]))   # 使用 list() 转换为列表
[1, 4, 9, 16, 25]
>>> list(map(lambda x: x ** 2, [1, 2, 3, 4, 5]))   # 使用 lambda 匿名函数
[1, 4, 9, 16, 25]

eval函数

以下展示了使用 eval() 方法的实例:>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85

eval(input()如果输入的是数字,则转换为数字;如果不是数字,报错。
int(input())如果是数字,整数的话,没为题,小数的话,丢失小数部分;如果不是数字,报错。

divmod

Python divmod() 函数:
接收两个数字类型(非复数)参数,返回一个包含商和余数的元组(a // b, a % b)

sort sorted

“sort()与sorted()的不同在于,sort是在原位重新排列列表,而sorted()是产生一个新的列表
▶▶sort 是应用在 list 上的方法,属于列表的成员方法,sorted 可以对所有可迭代的对象进行排序操作。
▶▶list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
▶▶sort使用方法为ls.sort(),而sorted使用方法为sorted(ls)。

[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
sorted(L, key=lambda x:x[1])
l:[('a', 1), ('b', 2), ('e', 3), ('d', 4), ('c', 6)]
l.sort(key=lambda x : x[1], reverse=True)

os与os.path模块

方法 功能说明
access(path, mode) 测试是否可以按照mode指定的权限访问文件
chdir(path) 把path设为当前工作目录
chmod(path, mode, *, dir_fd=None, follow_symlinks=True) 改变文件的访问权限
curdir 当前文件夹
environ 包含系统环境变量和值的字典
extsep 当前操作系统所使用的文件扩展名分隔符
get_exec_path() 返回可执行文件的搜索路径
getcwd() 返回当前工作目录
listdir(path) 返回path目录下的文件和目录列表
open(path, flags, mode=0o777, *, dir_fd=None) 按照mode指定的权限打开文件,默认权限为可读、可写、可执行
popen(cmd, mode=‘r’, buffering=-1) 创建进程,启动外部程序

列表

▶▶列表是Python中内置有序、可变序列,列表的所有元素放在一对中括号“[]”中,并使用逗号分隔开;
▶▶当列表元素增加或删除时,列表对象自动进行扩展或收缩内存,保证元素之间没有缝隙;
▶▶在Python中,一个列表中的数据类型可以各不相同
可以同时分别为整数、浮点数、字符串等基本类型,甚至是列表、元组、字典、集合以及其他自定义类型的对象。

列表常用方法

方法 说明
lst *= n 更新列表lst, 其元素重复n次
lst.append(x) 将元素x添加至列表lst尾部
lst.extend(L) 或lst += L 将列表L中所有元素添加至列表lst尾部
lst.insert(index, x) 在列表lst指定位置index处添加元素x,该位置后面的所有元素后移一个位置
lst.remove(x) 在列表lst中删除首次出现的指定元素,该元素之后的所有元素前移一个位置
lst.pop([index]) 删除并返回列表lst中下标为index(默认为-1)的元素
lst.clear() 删除列表lst中所有元素,但保留列表对象
lst.index(x) 返回列表lst中第一个值为x的元素的下标,若不存在值为x的元素则抛出异常
lst.count(x) 返回指定元素x在列表lst中的出现次数
lst.reverse() 对列表lst所有元素进行逆序
lst.sort(key=None, reverse=False) 对列表lst中的元素进行排序,key用来指定排序依据,reverse决定升序(False)还是降序(True)
lst.copy() 返回列表lst的浅复制

(1)可以使用“+”运算符将元素添加到列表中

>>> aList = [3,4,5]>>> aList = aList + [7]>>> aList[3, 4, 5, 7]

严格意义上来讲,这并不是真的为列表添加元素,而是创建了一个新列表,并将原列表中的元素和新元素依次复制到新列表的内存空间。
由于涉及大量元素的复制,该操作速度较慢,在涉及大量元素添加时不建议使用该方法。

(2)使用列表对象的append()方法在当前列表尾部追加元素,原
地修改列表
所谓“原地”,是指不改变列表在内存中的首地址。
是真正意义上的在列表尾部添加元素,速度较快。

>>> aList.append(9)>>> aList[3, 4, 5, 7, 9]

3)使用列表对象的extend()方法可以将另一个迭代对象的所有元素添加 至该列表对象尾部。
通过extend()方法来增加列表元素也不改变其内存首地址,属原地操作。

>>> a= [1,2,3]>>> id(a)46036232>>> a.extend([2,3,4])>>> id(a)46036232>>> print(a)[1, 2, 3, 2, 3, 4]

(4)使用列表对象的insert()方法将元素添加至列表的指定位置。

>>> a.insert(3, 6)    #在下标为3的位置插入元素6>>> print(a)[1, 2, 3, 6, 2, 3, 4]>>> id(a)46036232

(5)使用乘法来扩展列表对象,将列表与整数相乘,生成一个新列表, 新列表是原列表中元素的重复

>>> aList = aList*3
>>> aList
[3, 5, 7, 3, 5, 7, 3, 5, 7]
>>> bList
[3,5,7]
>>> id(aList), id(bList)
(57092680, 57091464)

▶▶使用列表对象的count()方法统计指定元素在列表对象中出现的次数。
▶▶使用in关键字来判断一个值是否存在于列表中,返回结果为“True”或“False”。

>>> bList = [[1], [2], [3]]
>>> 3 in bListFalse

切片

切片适用于列表、元组、字符串、range对象等类型,但作用于列表时功能最强大。
可以使用切片来截取列表中的任何部分,得到一个新列表,也可以通过切片来修改和删除列表中部分元素,甚至可以通过切片操作为列表对象增加元素。
切片使用2个冒号分隔的3个数字来完成:
形式上,切片使用2个冒号分隔的3个数字来完成。

[start

合工大python期末复习知识点汇总相关推荐

  1. 2021 合工大软件工程期末复习知识点汇总

    --知识点范围整理自wkw闭卷复习要点群文件.txt 闭卷考概念的滚出中国 题型 判断题 10分 选择题 10分 填空题 10分 名词解释 4×5分 简答题 5×4分 综合题 30(课堂作业) 押个题 ...

  2. python期末复习知识点总结

    期末复习知识点总结 第一章 1.6 Python编程规范与代码优化建议 1.7 模块 模块的导入方式 补:Python编程规范与代码优化建议 注释 以符号#开始,表示本行#之后的内容为注释. #eg1 ...

  3. 《计算机组成原理》期末复习资料汇总

    <计算机组成原理>期末复习资料汇总 一.名词解释 微程序:是指能实现一条机器指令功能的微指令序列. 微指令:在机器的一个CPU周期内,一组实现一定操作功能的微命令的组合. 微操作:执行部件 ...

  4. 《数据库系统原理及应用教程》期末复习知识点整理手写资料(Ch1-Ch5)

    阅读前注意: 1. 本复习资料配套书目<数据库系统原理及应用教程>(苗雪兰等,第五版) ,是对应于课程"数据库原理及应用(专业选修课)"的期末复习知识点归纳总结手写笔记 ...

  5. 太牛了 Python期末复习总结,提高成绩必备回家过个开心年

    Python期末复习之语法 将用一张思维导图的形式来展示python的基础语法. Python期末复习之运算符 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑 ...

  6. 数据库期末复习知识点:(仅供参考)

    数据库期末复习知识点: 一运用SQL 基本sql语句 授权sql语句: 实体完整性sql语句: 二 ER 画出ER图,并转换成关系模式. 三.范式 范式 存储结构 一运用SQL 基本sql语句 (1) ...

  7. 山东大学软件工程期末复习知识点总结

    山大软院软件工程期末复习知识点总结,根据任课老师所给提纲及课件等资料进行整理. 考试范围全覆盖. 文档电子版下载地址 目录 第一章 1.1软件工程(SE)的定义.目的.方法.作用: //1.2开发模式 ...

  8. 计算机导论期末考试知识点,计算机导论期末复习(知识点).doc

    计算机导论期末复习(知识点) 计算机导论期末复习(知识点) 单选题30%(每题1分,总30分) 判断题20%(每题1分,总20分) 问答题30%(7题左右,总30分) 综合回答题20%(2题,总20分 ...

  9. 他的体育课在下午五点结束使用计算机,外研版七年级上册英语期末复习知识点整理(1-5Module)...

    外研版七年级上册英语期末复习知识点整理(上) Module 1 重点短语 1.be from... =come from...来自...... 2....years old               ...

最新文章

  1. Java泛型中extends T和super T的区别?
  2. ncbi查找目的基因序列_基于PrimerBank和NCBI数据库的引物查找与设计
  3. Installshield在安装结束时刷新系统
  4. mysql 各表charset不同_MySQL表字段字符集不同导致的索引失效问题
  5. PostgreSQL的使用-02-在Linux下的基本配置
  6. 从0开始学习 GitHub 系列之「Git速成」
  7. 港科大教授张晓泉:目前AI多做预测分类,还需经济学发现因果关系
  8. 简历是html的怎么改成word文档,word简历使用教程.doc
  9. 微信公众号 Hash模式授权
  10. 两个龙的linux,Linux办公一条龙之组件间的调用
  11. 规格说明书-吉林市2日游
  12. Excel技巧:删除换行符、文本前空格、文本中间空格
  13. 亚马逊封号,新规则来了,你知道了吗?
  14. easyRtc设置视频清晰度的方法
  15. Grails – GORM教程
  16. win10更新后,浏览器打开网页一直加载 甚至打不开,错误代码:ERR_TIMED_OUT
  17. 2018世界杯所有场次记录
  18. 华硕服务器设置固态盘启动不了系统盘,华硕uefi引导启动不了系统安装系统安装...
  19. 谷歌Chrome OS的基本特征
  20. 测速网宽带提速自动生效方案

热门文章

  1. python列表常用操作_Python列表(list)常用操作方法小结
  2. python写电脑程序_【初学者教程】在电脑上安装Python,写第一个程序
  3. 贵州大学开题报告计算机,贵州大学毕业论文开题报告.docx
  4. 五十一、微信小程序云开发中的云函数
  5. 三十三、Java集合中的LinkedList
  6. linux配置usb主从_一种Linux下USB设备主从切换的实现
  7. 小牛想要进大厂,距离拿百万高薪,进入AI行业你还缺哪些?
  8. 今日arXiv精选 | ICCV 2021/CIKM 2021/ACM MM 2021
  9. 浙江大学杭州国际科创中心招聘优秀青年人才(机器学习及大数据)
  10. 从CNN视角看在自然语言处理上的应用