python 51~

发布时间:2026/11/1 1:56:04
python 51~

列表:列表是数据容器中的一类,是一次性可以存储多个数据(元素)的。

定义:列表名称=[元素1,元素2,元素3,元素4,元素5 ]
特点:
•可以存储不同类型的元素
•元素有序、可以重复、元素可以修改

序列类型:容器中的元素按特定顺序排列的、可通过索引访问的容器类型称之为序列。
注意:从前向后(正向索引),下标从0开始;从后向前(反向索引),下标从-1开始。

列表可以嵌套

列表-切片:

语法:序列数据[开始索引:结束索引:步长]
不包含结束索引位置对应的元素(开始索引未指定默认为0;结束索引未指定默认为列表长度(直到列表末尾);步长未指定默认为1)

双层嵌套列表索引就要多个[ ] 如 list[1][2]

•索引采用正向、反向索引都可以
•步长是选取间隔,默认步长为1
举例:

s[0:5:1]切片后的结果为["A", "C", "E", "B", "D"]
S[0:5:2]切片后的结果为["A", "E", "D"]

查找某元素的下标

语法:列表.index(元素)

快捷操作:确定某个元素在列表内

元素in列表变量 返回值是true和false

列表修改:

语法:列表[下标]=值

列表的常见方法:

追加元素方式2:

语法:列表.extend(其他数据容器) 追加到列表尾部

删除元素方式2:

语法:del列表[下标] 与pop()的区别是pop有返回值,返回被删除的元素

清空列表内容:

语法:列表.clear() 或者 列表=[ ]

统计某元素在列表中的数量

语法:列表.count(元素)

统计列表共有多少元素:

语法:len(列表)

元组:元组是不可变的序列,类似于列表,但创建后不能修改

可以存储不同类型的元素(列表也可以) 元组类型是tuple
元素可以重复、有序、不可以修改(支持索引访问、切片)

count():统计某元素在元组中出现的次数
index():查找某个元素在元组中的索引位置(第一次出现的位置)

定义一个元素的元组,后面必须加逗号,否则不是元组类型

元组也可以嵌套与列表类似,也是通过下标索引

字符串:

介绍:字符串是字符的容器,一个字符串中可以存放任意数量的字符。如:"Python"'Python'"""Python"""
特点:不可变性(无法修改)、有序性、可迭代性。
字符串中的每一个字符元素都有其对应的下标(索引),通过元素对应的索引,就可以获取到对应的元素。

支持切片 序列对象[开始索引:结束索引:步长]

字符串中常用方法:

其中 元组名.replace("旧字符",“新字符”)

元组名.split(“指定分隔符”) 可以分割成多个元素存入新的列表

统计字符串长度:len(字符串)

序列都支持切片:

语法: 序列[开始索引:结束索引:步长]

集合(set)是一种无序的、不可重复、可修改的数据容器。会自动去重

下标访问无法使用(因为集合是无序的)

补充:消除两个集合的差集 语法: 集合1.difference_update(集合2)

在集合1中删去和集合2相同的元素 结果集合1被修改,集合2不变

集合支持for循环遍历,但不支持while循环

字典:使用键值对(key:value)来存储数据,每一个键都对应一个值,通过键(key)可以快速找到对应的值(value)。
特点:键值对(key:value)存储、键(key)不能重复、可修改。重复的后面的覆盖前面的

注意:字典(dict)中的value可以是任何类型的数据,而key不能为可变类型(如:不能为 列表list、集合set、字典dict)。

字典可以嵌套,能记录更多信息

字典名.clear( )可以清空字典 同样给字典赋值空字典也可以

数据容器都可以用循环遍历通用统计功能有len(容器);max(容器);min(容器)

通用排序功能sorted(容器,reverse=True(升序)/False(降序))

字符串按照逐位比较 如果第一位大就不再比

函数参数种类:

1.位置参数:调用函数时根据函数定义时的位置来传递参数。

2.关键字参数:调用函数时以函数定义时形参名称作为关键字,以"键=值"的形式来传递参数(不要求顺序)。

3.默认参数也称为缺省参数,用于在定义函数时,为参数提供默认值,调用函数时,可以不传递有默认值的参数。

注意:默认参数必须放在没有默认值的参数列表的后面,一个函数在定义时是可以设置多个默认参数的。
注意:函数调用时,如果为默认参数传递了值,则会修改默认的参数值;如果没有传递该参数,则直接使用默认值。

不定长参数也叫可变参数,用于函数定义及调用时参数个数不确定(0个或多个)的场景。

*是不定长参数的标记,表示收集全部参数到元组中

**标记代表关键字传递接收键值对组成字典
类型:
位置传递
关键字传递

注意:传递的所有匹配的位置参数都会被args变量收集,这些参数会合并封装为一个元组,args是元组类型(注意并不会封装关键字参数)。
注意:args只是约定俗成的变量名,并不是关键字,这里可以使用任何合法的变量名(如*data)。

结合使用:(注意顺序,以及关键字)

函数也可以作为参数被传入(作用:传入的是计算逻辑,而非传入数据)

匿名函数指的是没有名称的函数,需要通过lambda表达式来声明函数,可以简化简单函数的编写(单行表达式)

注意:无名称的匿名函数只可以使用一次

注意:函数逻辑比较简单(单行表达式)且只在一个地方使用时,可以考虑使用匿名函数,简化书写(通常作为高阶函数的参数使用)。
注意:匿名函数中可以返回结果,也可以不返回结果。返回结果时,不需要写return,表达式的运行结果就是要返回的结果。

实际演示:

文件操作

打开、关闭、读、写

在python中使用open打开文件,可以打开一个已有的文件或者创建一个新的文件,语法:

open(name,mode,encoding)

name是要打开的目标文件名的字符串(可以包含文件所在路径)

mode设置打开模式:只读、写入、追加

encoding编码模式(一般utf-8)

mode三种模式

r只读方式打开。文件的指针将会放在文件的开头。(默认模式)

w打开一个文件只用于写入。如果该文件已存在则打开文件,并从头开始编写,原有内容会被删除。如果文件不存在,则会创建新文件。

a打开一个文件用于追加。如果该文件已存在,新的内容将会写到已有文件后,如果该文件不存在,则创建一个新文件进行导入

b二进制处理

只有文本文件可以使用r、w、a

文件对象.read(num) num表示要从文件中读取的长度单位是字节,没有传默认是全部

readlines()方法 : 把整个文件一次性读取并返回一个列表,每一行代表一个元素

readline(): 一次读一行

.strip()可以去除\n

.split("内容") 分隔符,以内容进行分割

读操作第二种写法

with open语法

with open("文件名或路径",“r”) as f:

f.readlines()

f是变量名 可以在操作后自动关闭文件避免遗忘

两种统计打开文件中出现相同词的个数:

文件的写入:文件名.write("内容")

内容刷新:文件名.flush() (close之前会自动fush)

使用w模式会将原有文件内容清空

文件的追加(a模式):

文件不存在会创建新的文件

文件存在会在最后追加写入

以二进制模式读写追加是rb、rw、ra