Python教程

第三章 python的组合数据类型

本文主要是介绍第三章 python的组合数据类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

3.1组合数据类型简介

python的组合数据类型有三类,分别是序列类型,映射类型和集合类型

*序列类型有一系列按特定顺序排列的元素组成,元素通常是相关的,可通过索引来访问。常用的序列类型有列表,元组和字符串。

*映射类型是一种键值对,一个键只能对应一个值,通过键可以访问值。字典是python中唯一的映射类型,字典中的元素是无序的。

*集合类型与数学中的集合概念一致,是一种无序不重复的元素即。集合中的元素只能是固定数据类型,如整型,字符串,元组等,而列表,字典等可变数据类型不能作为集合中的元素。

 

 

 

 

 

 3.2列表

列表是一个有序,可变序列。列表元素的数据类型可以不同,可以基本类型,组合数据类型或自定义数据类型。列表的所有元素放在一对方括号’[]‘中,相邻元素之间用逗号分隔开。

1.列表的创建

(1)直接赋值

使用等号直接俄将一个列表赋值给变量即可创建一个列表。例如:

 

 (2)使用list函数创建

使用list函数可以将字符串,元组,字典,集合等数据类型的数据转换成列表。

 

 2.访问列表元素

使用索引可以直接访问列表元素,格式为:列表名[索引]。如果指定的索引不存在,将出现下标越界错误。

 

 如果一个列表中的元素也是列表,那就构成了嵌套列表,也叫多维列表。嵌套列表元素也是通过索引来访问的,其格式为:

 

 3.列表切片

切片的功能非常强大,是python序列的重要操作之一。列表切片操作可以截取列表中的任意部分,得到一个新列表。切片操作的语法格式如下:

列表名[开始索引:结束索引:步长]

 

 可以通过给切片赋值的方式添加,删除和修改列表元素。

 

 3.2.4修改列表元素

 

 3.2.5添加列表元素

添加和删除列表元素是很常用的操作,可以使用appen(),extend()和insert()方法实现

(1)append方法

 

 (2)insert()方法

(3)extend方法

 

 6.删除列表元素

删除列表元素可以使用del命令,也可以使用pop(),remove()和clear()方法。

(1)del命令

del命令可以删除列表中指定位置的元素或整个列表。例如:

 

 (2)pop()方法

pop()方法用于删除列表指定的一个元素(默认为最后一个),并返回该元素。

 

 (3)remove()方法

remove()方法用于删除列表第一个与指定值相等。如果列表中有多个与指定值相等的元素,要多次使用remove()。

 

 (4)clear()方法

clear()方法用于清空列表。例如:

 

 

 

 7.检索列表元素

index()方法用于返回指定元素在列表中首次出现的索引,若该元素不在列表中则抛出异常。

 

 8.统计列表元素

count()方法用于计算指定元素在列表中出现的次数。

 

 9.列表元素排序

(1)sort()方法

sort()方法用于按照指定的规则对列表元素进行排序,默认的规则是比较元素的大小,按升序排序。sort()方法有两个可选参数:key和reverse。通过设置参数key的值,可以实现以字符串大小,长度等关键字进行排序。通过设置参数reverse的值为True,可以实现降序排序。

 

 (2)reverse()方法

reverse()方法用于将列表所有元素逆序排列。

 10.列表常用函数

列表常用的函数有len(),max(),min(),sorted()和reversed(),函数的引用格式为:函数名(列表名)

(1)len()

 

(2)max()和min()

max()和min()函数用于返回列表中所有元素的最大值或最小值。列表元素全部为数值类型时,直接根据数值的大小比较;列表怨怒是全部为字符串类型时,按字符的ASCII码一次进行比较;如果列表元素既有数字类型又有字符串类型时,则无法比较,抛出异常。

 

 (3)sum()

sum()函数用于对数值型列表元素进行求和,如果存在非数值型元素,则抛出异常。

 

11.列表推导式

列表推导式也称为列表解析式,其代码简介,可读性更强,且运行速度快。利用列表推导式可以简单高效地处理一个可迭代对象,生成满足特定需求地列表

列表推到是的语法格式如下:

[ 表达式 for 变量 in 序列 [if 条件表达式]]

其中表达式可以是任何运算表达式,变量是序列中遍历的元素值吗,if条件表达式可以省略。该语句的功能是计算每个变量对应的表达式的值,生成一个新列表。

列表推导式在逻辑上相当于一个循环,只是形式更加简洁。

 

 

 

 

 

 

 

 3.3元组(Tuple)与列表类似,也是一个有序序列。区别是元组是一个不可变序列,不能修改,也不能添加或删除元素。元组的所有元素放在一对圆括号‘()’中,相邻怨怒是之间用逗号分隔开。

3.3.1元组的创建

(1)直接赋值

使用等号直接将一个元组赋值给变量即可创建一个元组。

 

 (2)使用tuple()函数建立

 

 3.3.2访问元组元素

使用索引可以直接访问元组元素,如果指定的索引不存在,将出现下标越界错误。

 

 3.3.3元组的基本操作

元组不能被修改,因此没有append(),extend(),insert(),remove()和pop()等能够修改序列元素的方法。

 

 3.3.4生成器推导式

生成器推导式与列表推导式形式上类似,只是生成器推导式使用圆括号,而列表推导式使用方括号。与列表推导式不同的是,生成器推导式的结果是一个生成器对象,而不是一个元组。使用生成器对象的元素时,可以将其转化为列表或元组,也可以使用生成器对象的

_next_()方法或内置函数next()进行遍历,或者使用for循环便利其中的元素。

 

 元组有以下适用场合:

元组比列表访问速度快。如果定义了一系列常量值,主要用途是对它们进行遍历,而不需要修改元素,建议使用元组。可以认为元组对不需要修改的数据进行了‘写保护’,从而使得数据更安全。

元组作为不可变的序列,与整数,字符串一样,可以作为字典的键,也可以作为集合的元素。而列表既不能作为字典的键,也不能作为集合的元素,因为列表是可变的。

3.4字符串

字符串是一种非常重要的数据类型,字符串中的字符是按照一定顺序排列的,它是一个不可变的有序序列,支持双向索引。

1.字符串的基本操作

(1)字符串元素的读取

字符串的索引与列表相同,使用索引可以访问字符串的元素

 

 2.字符串切片

字符串切片操作可以截取字符串的任意部分,得到一个新的字符串,切片操作也与列表相同。

 

 (3)拼接字符串

 

 (4)重复输出字符串

在数值运算中“*”表示乘法,对于字符串,‘*’表示重复输出。

(5)获取字符串长度

len()是python的常用内置函数,用来获取字符串的长度

 

 2.字符串的常用方法

python提供了大量方法用于字符串查找,替换,分离,连接等操作,这里只介绍一些常用的方法。

(1)字符串的查找

find()和rfind()方法用于查找并返回一个字符串在另一个字符串指定范围(默认为整个字符串)首次和最后一次出现的位置,找不到则返回-1.

index()和rindex()方法用于返回一个字符串在另一个字符串指定范围i(默认为整个字符串)首次和最后一次出现的位置,找不到则抛出异常。

 

 

 (2)字符串的替换

replace()用于替换指定字符或字符串的所有重复出现,每次智能替换一个字符或字符串,类似于word文本编辑器的查找和替换功能。该方法将返回一个被替换后的新字符串。

replace()方法无法同时替换多个不同的字符,此功能可以用maketrans()和

translate()方法组合实现。maketrans()方法用来生成字符映射表,translate()按照映射表的对应关系转换并替换其中的字符。maketrans()有两个等长的字符串参数,表示第一个字符串的每个字符都用第二个字符串的对应字符替换

 

 

 

 (3)字符串的拆分

split()方法按指定字符从左侧分隔字符串,rsplit()方法按指定字符从右侧分隔字符串,返回包含分隔结果的列表。

 

 (4)字符串的连接

join()方法用来将列表中的多个字符串进行连接生成一个新的字符串,并在相邻两个字符串之间插入指定的字符。

 

 (5)字符串大小写转换

lower()方法将字符串转换为小写,upper()方法将字符串转换为大写,swapcase()方法实现大小呼唤,capitalize()将字符串的首字母转换为大写,其余小写,title()将每个单词的首字母转化为能为大写,均生成新的字符串。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

这篇关于第三章 python的组合数据类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!