1、1第2章 Python语言基础 2.1 Python中的中的对象和引用对象和引用o 2.2 数值数据数值数据类型类型o 2.3 字符串字符串数据类型数据类型o 2.4 列表列表数据类型数据类型o 2.5 元组元组数据类型数据类型o 2.6 字典字典数据类型数据类型o 2.7 集合集合数据类型数据类型o 2.8 Python数据类型之间的数据类型之间的转换转换o 2.9 Python中的中的运算符运算符o 2.10 Python中的中的数据输入数据输入o 2.11 Python中的数据中的数据输出输出o 2.12 Python中文件的基本中文件的基本操作操作o 2.13 Python库的导入与扩
2、展库的安装库的导入与扩展库的安装22.1 Python中的对象和引用o Python中的中的对象就是对象就是编程中把数据和功能包装后形成的编程中把数据和功能包装后形成的一个对外具有特定交互接口的内存块一个对外具有特定交互接口的内存块。o 每个每个对象都有三个属性分别是对象都有三个属性分别是:身份身份(identity),就是对象在内存中的地址就是对象在内存中的地址;类型类型(type),用于表示对象所属的用于表示对象所属的数据类型数据类型(类类),对象,对象的类型决定了对象可以存储什么类型的值,有哪些属性的类型决定了对象可以存储什么类型的值,有哪些属性和方法,可以进行哪些操作;和方法,可以进行
3、哪些操作;值值(value),对象所表示的数据对象所表示的数据。a=123#123创建了一个创建了一个int(整型整型)对象对象,并用,并用a来代表来代表 id(a)492688880#身份用这样一串数字表示身份用这样一串数字表示32.1 Python中的对象和引用 b=6简单来看,上边的代码执行了以下操作:简单来看,上边的代码执行了以下操作:o(1)使用变量)使用变量b来代表对象来代表对象6。为了。为了使用对象,必须通过使用对象,必须通过赋值操作赋值操作“=”把对象赋值给一个变量(也称之为把对象把对象赋值给一个变量(也称之为把对象绑定到变量),这样便可通过该变量来操作内存数据块绑定到变量),
4、这样便可通过该变量来操作内存数据块中的数据。中的数据。o(2)如果变量)如果变量b不存在,创建一个新的变量不存在,创建一个新的变量b。o(3)将变量将变量b和数字和数字6进行连接,即变量进行连接,即变量b成为对象成为对象6的一的一个个引用,变量可看作是指向对象的内存空间的一个指针。引用,变量可看作是指向对象的内存空间的一个指针。42.1 Python中的对象和引用o 当多个变量都引用了相同的对象,称为共享引用。当多个变量都引用了相同的对象,称为共享引用。a=1 b=a#b成为成为1的引用的引用 a=2#a成为对象成为对象2的一个引用的一个引用 print(b)1#由于变量仅是对对象的一个引用,
5、因此改变由于变量仅是对对象的一个引用,因此改变a的引用的引用并不会导致并不会导致b的变化的变化52.1 Python中的对象和引用o 在在Python中,变量是用一个变量名表示,变量名的命名中,变量是用一个变量名表示,变量名的命名规则:规则:变量变量名只能是字母、数字或下划线的任意组合。名只能是字母、数字或下划线的任意组合。变量变量名的第一个字符不能是数字。名的第一个字符不能是数字。以下以下Python关键字不能声明为变量名:关键字不能声明为变量名:and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,
6、for,from,global,if,import,in,is,lambda,not,or,pass,print,raise,return,try,while,with,yield62.1 Python中的对象和引用o x=Python上述上述代码创建了一个变量代码创建了一个变量x,x是字符串对象是字符串对象Python的引用,的引用,即变量即变量x指向的对象的值为指向的对象的值为Python。注意:类型属于对象,变量是没有类型的,变量只注意:类型属于对象,变量是没有类型的,变量只是对象的引用,所谓变量的类型指的是变量所引用是对象的引用,所谓变量的类型指的是变量所引用的对象的类型。变量的类型随
7、着所赋值的类型的变的对象的类型。变量的类型随着所赋值的类型的变化而改变。化而改变。7第2章 Python语言基础o 2.1 Python中的对象和引用中的对象和引用 2.2 数值数据数值数据类型类型o 2.3 字符串字符串数据类型数据类型o 2.4 列表列表数据类型数据类型o 2.5 元组元组数据类型数据类型o 2.6 字典字典数据类型数据类型o 2.7 集合集合数据类型数据类型o 2.8 Python数据类型之间的数据类型之间的转换转换o 2.9 Python中的中的运算符运算符o 2.10 Python中的中的数据输入数据输入o 2.11 Python中的数据中的数据输出输出o 2.12
8、Python中文件的基本中文件的基本操作操作o 2.13 Python库的导入与扩展库的安装库的导入与扩展库的安装82.2 数值数据类型o Python语言中,所有对象都有一个数据类型,语言中,所有对象都有一个数据类型,Python数数据类型定义为一个值的集合以及定义在这个值集上的一据类型定义为一个值的集合以及定义在这个值集上的一组运算操作。组运算操作。一个对象上可执行且只允许执行其对应数一个对象上可执行且只允许执行其对应数据类型定义的操作据类型定义的操作。o Python中有六个标准的数据类型中有六个标准的数据类型:number(数字(数字)string(字符串(字符串)list(列表(列表
9、)tuple(元组(元组)dictionary(字典(字典)set(集合(集合)92.2 数值数据类型o Python包括包括4种内置种内置的数值数据的数值数据类型。类型。(1)int整型。用于表示整数,如整型。用于表示整数,如12,1024,10。(2)float浮点型。用于表示实数,如浮点型。用于表示实数,如3.14,1.2,2.5e2(=2.5102=250)。)。(3)bool布尔型。布尔型。bool布尔型对应两个布尔值:布尔型对应两个布尔值:True和和False,分别对应,分别对应1和和0。True+1 2(4)complex复数型复数型。其表示。其表示由两种,一种由两种,一种是是
10、a+bj,另另一种是一种是complex(a,b),例如,例如3+4j complex(3,4)。10第2章 Python语言基础o 2.1 Python中的对象和引用中的对象和引用o 2.2 数值数据类型数值数据类型 2.3 字符串字符串数据类型数据类型o 2.4 列表列表数据类型数据类型o 2.5 元组元组数据类型数据类型o 2.6 字典字典数据类型数据类型o 2.7 集合集合数据类型数据类型o 2.8 Python数据类型之间的数据类型之间的转换转换o 2.9 Python中的中的运算符运算符o 2.10 Python中的中的数据输入数据输入o 2.11 Python中的数据中的数据输出
11、输出o 2.12 Python中文件的基本中文件的基本操作操作o 2.13 Python库的导入与扩展库的安装库的导入与扩展库的安装112.3 字符串数据类型o Python中的字符串属于不可变序列,是用单引号中的字符串属于不可变序列,是用单引号()、双引、双引号号()、三单引号、三单引号()或三双引号或三双引号()等界定符括起来的字等界定符括起来的字符符序列。序列。(1)创建字符串)创建字符串只要为变量分配一个用字符串界定符括起来的字符序列即可只要为变量分配一个用字符串界定符括起来的字符序列即可创建一个字符串。例如:创建一个字符串。例如:var1=Hello World!(2)Python
12、3的字符串的字符串编码编码我们可以通过以下代码查看我们可以通过以下代码查看Python 3的字符串默认编码:的字符串默认编码:import sys sys.getdefaultencoding()utf-8122.3 字符串数据类型(3)字符串)字符串运算符运算符操作符操作符描述描述+字符串连接字符串连接*重复输出字符串重复输出字符串通过索引获取字符串中字符通过索引获取字符串中字符:截取字符串中的一部分截取字符串中的一部分in成员运算符成员运算符-如果字符串中包含给定的字符串返回如果字符串中包含给定的字符串返回Truenot in成员运算符成员运算符-如果字符串中不包含给定的字符串返回如果字符
13、串中不包含给定的字符串返回Truer/R原始字符串原始字符串-在字符串的第一个引号前加上字母在字符串的第一个引号前加上字母r或或R,字符串中的所有的字符直接按照字面的意思来使用,不再字符串中的所有的字符直接按照字面的意思来使用,不再转义特殊或不能打印的字符。转义特殊或不能打印的字符。%格式化字符串格式化字符串132.3 字符串数据类型(3)字符串)字符串运算符运算符 str1=Python str2=good str3=str1+str2#字符串连接字符串连接 print(str3)Python good print(str1*2)#输出字符串两次输出字符串两次PythonPython pri
14、nt(2*str1)PythonPython142.3 字符串数据类型(3)字符串)字符串运算符运算符Python中的字符串有两种索引方式,从左往右以中的字符串有两种索引方式,从左往右以0开始,从开始,从右往左右往左以以-1开始。开始。print(str10)#通过索引输出字符串第一个字符通过索引输出字符串第一个字符P print(str12:5)#输出从第三个开始到第五个的字符输出从第三个开始到第五个的字符tho print(str10:-1)#输出第一个到倒数第二个的所有字符输出第一个到倒数第二个的所有字符Pytho152.3 字符串数据类型(3)字符串)字符串运算符运算符 y in st
15、r1#测试一个字符串是否存在另一个字符串测试一个字符串是否存在另一个字符串中中True ac in abcdFalse ac not in abcdTrue162.3 字符串数据类型(4)字符串对象常用的方法字符串对象常用的方法一旦创建字符串对象一旦创建字符串对象str,可以使用字符串对象,可以使用字符串对象str的方法来的方法来操作操作字符串。字符串。str.strip(chars):不带参数的:不带参数的str.strip()方法,表示去除字方法,表示去除字符串符串str开头和结尾的空白符,包括:开头和结尾的空白符,包括:“n”,“t”,“r”,“”等;等;带参数的带参数的str.stri
16、p(chars)函数,表示去除字符串函数,表示去除字符串str开头开头和结尾指定的和结尾指定的chars字符序列,只要有就删除字符序列,只要有就删除。b,c=tnstpythonn,16tnstpythonn16 b.strip()stpython c.strip(16)tnstpythonn172.3 字符串数据类型(5)字符串对象常用的方法字符串对象常用的方法 字符串大小写转换字符串大小写转换str.lower():将字符串:将字符串str中的大写字母转小写字母。中的大写字母转小写字母。ABba.lower()abbastr.upper():将:将str中的小写字母转成大写字母。中的小写字
17、母转成大写字母。ABba.upper()ABBAstr.swapcase():将:将str中的大小写互换。中的大小写互换。ABba.swapcase()abBA182.3 字符串数据类型(5)字符串对象常用的方法字符串对象常用的方法 字符串大小写转换字符串大小写转换str.capitalize():返回一个只有首字母大写的字符串:返回一个只有首字母大写的字符串 ABba.capitalize()Abbastring.capwords(str,sep):以:以sep作为分隔符作为分隔符(不带参数不带参数sep时,默认以空格为分隔符时,默认以空格为分隔符),分割字符串,分割字符串str,然后将每个
18、字,然后将每个字段的首字母换成大写,将每个字段除首字母外的字母均置为段的首字母换成大写,将每个字段除首字母外的字母均置为小写,最后合并连接到一起组成一个新字符串小写,最后合并连接到一起组成一个新字符串。capwords(str)是是string模块中的函数,使用之前需要先导入模块中的函数,使用之前需要先导入string模块,即模块,即import string。192.3 字符串数据类型(5)字符串对象常用的方法字符串对象常用的方法 字符串大小写转换字符串大小写转换string.capwords(str,sep):以:以sep作为分隔符作为分隔符(不带参数不带参数sep时,默认以空格为分隔符时
19、,默认以空格为分隔符),分割字符串,分割字符串str,然后将每个字,然后将每个字段的首字母换成大写,将每个字段除首字母外的字母均置为段的首字母换成大写,将每个字段除首字母外的字母均置为小写,最后合并连接到一起组成一个新字符串小写,最后合并连接到一起组成一个新字符串。capwords(str)是是string模块中的函数,使用之前需要先导入模块中的函数,使用之前需要先导入string模块,即模块,即import string。import string string.capwords(ShaRP tools make good work.)Sharp Tools Make Good Work.2
20、02.3 字符串数据类型(5)字符串对象常用的方法字符串对象常用的方法 字符串分割字符串分割str.split(s,num)n:按:按s中指定的分隔符中指定的分隔符(默认为所有的空字默认为所有的空字符,包括空格、换行符,包括空格、换行(n)、制表符、制表符(t)等等),将一个字符串,将一个字符串str分分裂成裂成num+1个字符串所组成的列表。若带有个字符串所组成的列表。若带有n,表示选取分,表示选取分割后的第割后的第n个分片,个分片,n表示返回的列表中元素的下标,从表示返回的列表中元素的下标,从0开开始。始。str=hello world str.split()hello,world str
21、.split(.,1)#分隔一次 str= str.split(.)2#选取分割后的第2片作为结果返回com212.3 字符串数据类型(5)字符串对象常用的方法字符串对象常用的方法 字符串分割字符串分割 s1,s2,s3=str.split(.,2)#s1,s2,s3分别被赋值得到分别被赋值得到被切割的三个部分被切割的三个部分 s1www s =callnmenbaby#按换行符按换行符“n”进行分割进行分割 s.split(n)call,me,baby222.3 字符串数据类型(5)字符串对象常用的方法字符串对象常用的方法 字符串搜索与替换字符串搜索与替换str.find(substr,st
22、art,end ):返回:返回str中指定范围中指定范围(默认是默认是整个字符串整个字符串)第一次出现的第一次出现的substr的第一个字母的标号,也就的第一个字母的标号,也就是说从左边算起的第一次出现的是说从左边算起的第一次出现的substr的首字母标号,如果的首字母标号,如果str中没有中没有substr则则返回返回-1。He that can have patience.find(can)8str.replace(oldstr,newstr,count):把:把str中的中的oldstr字符串字符串替换成替换成newstr字符串,如果指定了字符串,如果指定了count参数,表示替换最多参
23、数,表示替换最多不超过不超过count次。如果未指定次。如果未指定count参数,表示全部替换,有参数,表示全部替换,有多少替换多少。多少替换多少。232.3 字符串数据类型(5)字符串对象常用的方法字符串对象常用的方法 字符串搜索与替换字符串搜索与替换 str.replace(is,was)This was a string example.This was a really string.str.count(substr,start,end):在字符串:在字符串str中统计子字符中统计子字符串串substr出现的次数,如果不指定开始位置出现的次数,如果不指定开始位置start和结束位置和结
24、束位置end,表示从头统计到尾,表示从头统计到尾。aadgdxdfadfaadfgaa.count(aa)3242.3 字符串数据类型(5)字符串对象常用的方法字符串对象常用的方法 字符串映射字符串映射str.maketrans(instr,outstr):用于创建字符映射的转换表:用于创建字符映射的转换表(映射表),第一个参数(映射表),第一个参数instr表示需要转换的字符串,第二表示需要转换的字符串,第二个参数个参数outstr表示要转换的目标字符串。两个字符串的长度表示要转换的目标字符串。两个字符串的长度必须相同,为一一对应的关系必须相同,为一一对应的关系。str.translate(
25、table):使用:使用str.maketrans(instr,outstr)生成的映射生成的映射表表table,对字符串,对字符串str进行映射。进行映射。252.3 字符串数据类型(5)字符串对象常用的方法字符串对象常用的方法 字符串映射字符串映射 table=str.maketrans(abcdef,123456)#创建映射表,将创建映射表,将abcdef一一转换为一一转换为123456 table97:49,98:50,99:51,100:52,101:53,102:54 s1=Python is a greate programming language.I like it.s1.t
26、ranslate(table)#使用映射表使用映射表table对字符串对字符串s1进行映射进行映射Python is 1 gr51t5 progr1mming l1ngu1g5.I lik5 it.262.3 字符串数据类型(5)字符串对象常用的方法字符串对象常用的方法 判断字符串的开始和结束判断字符串的开始和结束str.startswith(substr,start,end):用于检查字符串:用于检查字符串str是否是是否是以字符串以字符串substr开头,如果是则返回开头,如果是则返回True,否则返回,否则返回False。s=Work makes the workman.s.starts
27、with(Work)#检查整个字符串检查整个字符串Truestr.endswith(substr,start,end):用于检查字符串:用于检查字符串str是否是是否是以字符串以字符串substr结尾,如果是则返回结尾,如果是则返回True,否则返回,否则返回 False。s=Constant dropping wears the stone.s.endswith(stone.)True272.3 字符串数据类型(5)字符串对象常用的方法字符串对象常用的方法 判断字符串的开始和结束判断字符串的开始和结束str.startswith(substr,start,end):用于检查字符串:用于检查字
28、符串str是否是是否是以字符串以字符串substr开头,如果是则返回开头,如果是则返回True,否则返回,否则返回False。s=Work makes the workman.s.startswith(Work)#检查整个字符串检查整个字符串Truestr.endswith(substr,start,end):用于检查字符串:用于检查字符串str是否是是否是以字符串以字符串substr结尾,如果是则返回结尾,如果是则返回True,否则返回,否则返回 False。s=Constant dropping wears the stone.s.endswith(stone.)True282.3 字符串
29、数据类型(5)字符串对象常用的方法字符串对象常用的方法 判断字符串的开始和结束判断字符串的开始和结束下面的代码可以列出指定目录下扩展名为下面的代码可以列出指定目录下扩展名为.txt或或.docx的文件的文件import ositems=os.listdir(C:UserscaojieDesktop)#返回指定路径返回指定路径下的文件和文件夹列表下的文件和文件夹列表newlist=for names in items:if names.endswith(.txt,.docx):newlist.append(names)print(newlist)292.3 字符串数据类型(5)字符串对象常用的方
30、法字符串对象常用的方法 连接字符串连接字符串str.join(sequence):返回通过指定字符:返回通过指定字符str连接序列连接序列sequence中中元素后生成的新字符串。元素后生成的新字符串。str=-seq=(a,b,c,d)str.join(seq)a-b-c-d seq1=Keep,on,going,never,give,up print(.join(seq1)Keep on going never give up302.3 字符串数据类型(5)字符串对象常用的方法字符串对象常用的方法 连接字符串连接字符串str.join(sequence):返回通过指定字符:返回通过指定字符
31、str连接序列连接序列sequence中中元素后生成的新字符串。元素后生成的新字符串。str=-seq=(a,b,c,d)str.join(seq)a-b-c-d seq1=Keep,on,going,never,give,up print(.join(seq1)Keep on going never give up312.3 字符串数据类型(5)字符串对象常用的方法字符串对象常用的方法 判断字符串是否全为数字、字符等判断字符串是否全为数字、字符等str.isalnum():str所有字符都是数字或者字母所有字符都是数字或者字母,返回,返回 Turestr.isalpha():str所有字符都
32、是字母所有字符都是字母,返回,返回 Turestr.isdigit():str所有字符都是数字所有字符都是数字,返回,返回 Turestr.islower():str所有字符都是小写所有字符都是小写,返回,返回 Turestr.isupper():str所有字符都是大写所有字符都是大写,返回,返回 Turestr.istitle():str所有单词都是首字母大写所有单词都是首字母大写,返回,返回 Turestr.isspace():str所有字符都是空白字符所有字符都是空白字符,返回,返回 Ture322.3 字符串数据类型(5)字符串对象常用的方法字符串对象常用的方法 字符串对齐及填充字符串
33、对齐及填充str.center(width,fillchar):返回一个宽度为:返回一个宽度为width、str居中的居中的新字符串,如果新字符串,如果width小于字符串小于字符串str的宽度,则直接返回字符的宽度,则直接返回字符串串str,否则使用填充字符,否则使用填充字符fillchar去填充,默认填充空格去填充,默认填充空格。Hello world!.center(20)Hello world!Hello world!.center(20,-)-Hello world!-332.3 字符串数据类型(6)字符串)字符串常量常量Python标准库标准库string中定义了数字、标点符号、英
34、文字母、大写中定义了数字、标点符号、英文字母、大写英文字母、小写英文字母等字符串常量。英文字母、小写英文字母等字符串常量。import string string.ascii_letters#所有字母所有字母abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ string.ascii_lowercase#所有小写字母所有小写字母abcdefghijklmnopqrstuvwxyz string.ascii_uppercase#所有大写字母所有大写字母ABCDEFGHIJKLMNOPQRSTUVWXYZ string.digits#所有数字所
35、有数字0-9012345678934第2章 Python语言基础o 2.1 Python中的对象和引用中的对象和引用o 2.2 数值数据类型数值数据类型o 2.3 字符串数据类型字符串数据类型 2.4 列表列表数据类型数据类型o 2.5 元组元组数据类型数据类型o 2.6 字典字典数据类型数据类型o 2.7 集合集合数据类型数据类型o 2.8 Python数据类型之间的数据类型之间的转换转换o 2.9 Python中的中的运算符运算符o 2.10 Python中的中的数据输入数据输入o 2.11 Python中的数据中的数据输出输出o 2.12 Python中文件的基本中文件的基本操作操作o
36、2.13 Python库的导入与扩展库的安装库的导入与扩展库的安装352.4 列表数据类型o 列表是写在方括号列表是写在方括号 之间、用逗号分隔开的元素列表。列表之间、用逗号分隔开的元素列表。列表的大小是可变的,它可以根据需求增加或减少。列表中元素的大小是可变的,它可以根据需求增加或减少。列表中元素的类型可以不相同,列表中可以同时存在数字、字符串、元的类型可以不相同,列表中可以同时存在数字、字符串、元组、字典、集合等数据类型的对象,甚至可以包含列表(即组、字典、集合等数据类型的对象,甚至可以包含列表(即嵌套)。嵌套)。下面几个都是合法的列表对象:下面几个都是合法的列表对象:Google,Bai
37、du,1997,2008 1,2,3,4,5 a,b,c,d 123,das,aaa,234362.4 列表数据类型(1)列表创建、删除)列表创建、删除可以使用列表可以使用列表list的构造的构造方法方法list()来来创建列表,如下所示:创建列表,如下所示:list1=list()#创建空列表创建空列表 list2=list(chemistry)list2c,h,e,m,i,s,t,r,y也可以也可以使用使用“=”直接将一个列表赋值给变量来创建一个列表对直接将一个列表赋值给变量来创建一个列表对象:象:lista=listb=good,123,2.2,best,70.2 372.4 列表数据类
38、型(2)列表截取(也称分片、切片)列表截取(也称分片、切片)列表中的元素可以使用下标操作符列表中的元素可以使用下标操作符listindex访问列表中下标访问列表中下标为为index的元素的元素。列表列表下表是从下表是从0开始的开始的,下标,下标的范围从的范围从0到到len(list)-1,len(list)获取列表获取列表list的长度的长度。listindex可以像变量一样使用,被称为下标变量可以像变量一样使用,被称为下标变量。Python允许使用负数作为下标来引用相对于列表末端的位置,允许使用负数作为下标来引用相对于列表末端的位置,将列表长度和负数下标相加就可以得到实际的位置。例如:将列表
39、长度和负数下标相加就可以得到实际的位置。例如:list1=1,2,3,4,5 list1-15382.4 列表数据类型(2)列表截取(也称分片、切片)列表截取(也称分片、切片)列表截取(也称分片、切片)操作使用语法列表截取(也称分片、切片)操作使用语法liststart:end返回返回列表的一个片段。这个片段是下标从列表的一个片段。这个片段是下标从start到到end-1的元素构成的元素构成的一个子列表。列表被截取后返回一个包含指定元素的新列表的一个子列表。列表被截取后返回一个包含指定元素的新列表。list1=good,123,2.2,best,70.2 print(list11:3)#输出第
40、二个至第三个元素输出第二个至第三个元素 123,2.2392.4 列表数据类型(3)改变列表)改变列表 列表列表元素改变:元素改变:x=1,1,3,4 x1=2#将列表中第二个将列表中第二个1改为改为2 列表元素分段改变:列表元素分段改变:name=list(Perl)name1:=list(ython)name P,y,t,h,o,n 402.4 列表数据类型(3)改变列表)改变列表 在列表中插入序列:在列表中插入序列:number=1,6 number1:1=2,3,4,5 number 1,2,3,4,5,6 在列表中删除一段在列表中删除一段元素:元素:names=one,two,thr
41、ee,four,five,six del names1#删除删除names的第二个元素的第二个元素 names1:4=#删除删除names的第二至第四个元素的第二至第四个元素 names one,six 412.4 列表数据类型(4)列表是一种序列类型)列表是一种序列类型在在Python中字符串、列表和以及后面要讲的元组都是序列类型中字符串、列表和以及后面要讲的元组都是序列类型。所谓所谓序列,即成员有序排列,并且可以通过偏移量访问到它序列,即成员有序排列,并且可以通过偏移量访问到它的一个或者几个成员的一个或者几个成员。序列序列中的每个元素都被分配一个数字中的每个元素都被分配一个数字它的位置,也
42、称为它的位置,也称为索引,第一个索引是索引,第一个索引是0,第二个索引是,第二个索引是1,依此类推。,依此类推。序列都可以进行的操作包括索引、切片、加、乘、检查成员序列都可以进行的操作包括索引、切片、加、乘、检查成员。Python已经内置确定序列的长度以及确定最大和最小的元已经内置确定序列的长度以及确定最大和最小的元素的方法。素的方法。422.4 列表数据类型(4)列表是一种序列)列表是一种序列类型,序列类型,序列的常用的常用操作:操作:操作操作描述描述x in s如果元素如果元素x在序列在序列s中则返回中则返回Truex not in s如果元素如果元素x不在序列不在序列s中则返回中则返回T
43、rues1+s2连接两个序列连接两个序列s1和和s2,得到一个新序列,得到一个新序列s*n,n*s序列序列s复制复制n次得到一个新序列次得到一个新序列si得到序列得到序列s的第的第i个元素个元素si:j得到序列得到序列s从下标从下标i到到j-1的片段的片段len(s)返回序列返回序列s包含的元素个数包含的元素个数max(s)返回序列返回序列s的最大元素的最大元素min(s)返回序列返回序列s的最小元素的最小元素sum(x)返回序列返回序列s中所有元素之和中所有元素之和、=、=、!=比较两个序列比较两个序列432.4 列表数据类型(4)列表是一种序列类型)列表是一种序列类型 list1=C,Ja
44、va,Python list2=good,123,2.2,best,70.2 list1+list2C,Java,Python,good,123,2.2,best,70.2 max(list1)Python min(list1)C sum(1,2,3)6442.4 列表数据类型(5)用于列表的一些常用函数)用于列表的一些常用函数 reversed()函数:函数功能是反转一个序列对象,将其元素函数:函数功能是反转一个序列对象,将其元素从后向前颠倒构建成一从后向前颠倒构建成一个迭代个迭代器。器。a=9,8,7,6,5,4,3,2,1,0 reversed(a)sorted()函数:函数:sorte
45、d(iterable,key,reverse)返回一个排返回一个排序后的新序列,不改变原始的序列。序后的新序列,不改变原始的序列。sorted的第一个参数是的第一个参数是一个可迭代的对象,第二个参数一个可迭代的对象,第二个参数key用来指定带一个参数的函用来指定带一个参数的函数,此函数将在每个元素比较前被调用;第三个参数用来指数,此函数将在每个元素比较前被调用;第三个参数用来指定排序方式(正序还是倒序)。定排序方式(正序还是倒序)。452.4 列表数据类型(5)用于列表的一些常用函数)用于列表的一些常用函数 sorted(46,15,-12,9,-21,30,key=abs)#按绝对值大小进按
46、绝对值大小进行排序行排序9,-12,15,-21,30,46key指定的函数将作用于指定的函数将作用于list的每一个元素上,并根据的每一个元素上,并根据key函数函数返回的结果进行排序。返回的结果进行排序。sorted(bob,about,Zoo,Credit,key=str.lower,reverse=True)#按小写反向排序按小写反向排序Zoo,Credit,bob,about462.4 列表数据类型(5)用于列表的一些常用函数)用于列表的一些常用函数 zip()函数:函数:zip(it0,it1.)返回一个列表,其第一个元素是返回一个列表,其第一个元素是it0、it1.这些序列元素的
47、第一个元素组成的一个元组,其它这些序列元素的第一个元素组成的一个元组,其它元素依次类推。若传入参数的长度不等,则返回列表的长度元素依次类推。若传入参数的长度不等,则返回列表的长度和参数中长度最短的对象相同。和参数中长度最短的对象相同。zip()是可迭代对象,对其进是可迭代对象,对其进行行list可一次性显示出所有结果可一次性显示出所有结果。a,b=1,2,3,a,b,c list(zip(a,b)(1,a),(2,b),(3,c)472.4 列表数据类型(5)用于列表的一些常用函数)用于列表的一些常用函数enumerate()函数:将一个可遍历的数据对象如列表,组合函数:将一个可遍历的数据对象
48、如列表,组合为一个索引序列,序列中每个元素是由数据对象的元素下标为一个索引序列,序列中每个元素是由数据对象的元素下标和元素组成的元组。和元素组成的元组。seasons=Spring,Summer,Fall,Winter list(enumerate(seasons)(0,Spring),(1,Summer),(2,Fall),(3,Winter)list(enumerate(seasons,start=1)#将下标从将下标从 1 开始开始(1,Spring),(2,Summer),(3,Fall),(4,Winter)482.4 列表数据类型(5)用于列表的一些常用函数)用于列表的一些常用函数
49、shuffle()函数:函数:random模块中的模块中的shuffle()函数可实现随机排函数可实现随机排列列表中的元素。列列表中的元素。list1=2,3,7,1,6,12 import random#导入模块导入模块 random.shuffle(list1)list11,2,12,3,7,6492.4 列表数据类型(6)列表对象常用的方法)列表对象常用的方法一旦列表对象被创建,可以使用列表对象的方法来操作一旦列表对象被创建,可以使用列表对象的方法来操作列表:列表:方 法描述list.append(x)在列表list末尾添加新的对象xlist.count(x)返回x在列表list中出现的
50、次数list.extend(seq)在列表list末尾一次性追加seq序列中的所有元素list.index(x)返回列表list中第一个值为x的元素的下标,若不存在抛出异常list.insert(index,x)在列表list中index位置处添加元素xlist.pop(index)删除并返回列表指定位置的元素,默认为最后一个元素list.remove(x)移除列表list中x的第一个匹配项list.reverse()反向列表list中的元素list.sort(key=None,reverse=None)对列表list进行排序,key参数的值为一个函数,此函数只有一个参数且返回一个值,此函数将