Python序列应用
1.序列
序列是一块用于存放多个值的连续内存空间,并且按一定顺序排列。序列结构有列表、元组、集合、字典和字符串。Python对序列中列表、元组、字符串有索引、切片、相加和相乘操作,可以通过关键字in检查某个元素是否为序列的成员。
(1)索引
序列中的每个元素都有一个编号被称为索引,通过索引可以访问序列中的任何元素。索引类似C语言数组中的下标从0开始表示第一个元素,依次递增,但索引可以为负数
,例如:-1表示最后一个元素。
(2)切片
切片是访问序列中元素的一种方法,可以访问一定范围内的元素。通过切片可以生成一个新的序列。格式如下:
name[start:end:step]
'''
name:表示序列的名称
start:表示切片开始的位置
end:表示切片的截止位置
step:表示切片的步长
'''
通过切片可以截取序列上任意一处的信息,比如一个字符串可以通过切片生成另外一个字符串;一个列表可以通过切片,输出指定位置的元素。可以说是很方便的功能。
(3)相加和相乘
Python中,多个相同类型的序列可以相加成一个新序列。一个序列可以乘以一个数字n,也会生成一个重复这个序列元素n次的新序列。
2.列表
Python中的列表是由一系列特定顺序排列的元素组成的,是可变序列。列表元素可以是整数、实数、字符串、列表、元组等。创建列表格式:
\\name = [element1,element2,……] #可以通过del name删除列表
(1)遍历列表
遍历有直接通过for循环或者是通过for循环和enumerate()函数方式。
直接遍历格式:
\\for item in name:
print(item)
使用for循环和enumerate()函数遍历:
\\for index,item in enumerate(name):
print(index,item)
(2)添加、修改和删除列表元素
操作类型 | 使用方式 | 作用 |
添加元素 | name.append(元素) | 在列表末尾追加元素 |
添加元素 | name.extend(列表) | 将一个列表中全部元素添加到另一个列表的后面 |
修改元素 | name[i] = 元素 | 修改索引i所对应的元素 |
删除元素 | del name[i] | 删除索引i所对应的元素 |
删除元素 | name.remove(元素) | 删除指定元素 |
(3)对列表进行统计和计算
使用方式 | 作用 |
name.count(元素) | 获取指定元素出现的次数 |
name.index(元素) | 获取指定元素首次出现的下标 |
sum(name) | 统计数值列表的元素和 |
name.sort() | 对列表进行排序 |
name.sorted() | 生成一个排序后的新列表 |
(4)列表推导式
Python中有列表推导式可以快速生成一个列表。具体可通过格式:
\\list = [expression for var in range] #expression为表达式,var为变量,range为被执行的对象
list = [expression for var in range if condition] #可以通过添加条件,筛选信息
3.元组
Python中元组是由一系列按特定顺序排列的元素组成的不可变序列,元素也可以是整数、实数、字符串、列表等。因此元组类似列表,只不过元组不能进行添加、修改、删除操作。
4.字典
字典类似列表,只不过是无序的可变序列,字典通过键来读取并且键必须唯一、不可变。字典的格式为
\\dict = {'key1':'value1','key2':'value2',……} #del dict 删除字典
还可以通过映射函数创建字典,格式为:dict = dict(zip(list1,list2))。zip()函数可以将多个列表和元组对应位置组合成元组。遍历字典和遍历列表不同,需要使用dict.items()方法获取“键-值对”的元组表,再进行遍历输出。字典元素的添加、修改和删除都可以通过键来实现。添加和修改元素:dict[key] = 'value';删除元素:del dict[key]
5.集合
Python中有可变集合和不可变集合,我学习的是可变集合。集合可以通过name = {}直接创建,也可以通过set()函数创建,可变集合中元素是无序、不重复即唯一的。向集合中添加元素使用name.add()函数,删除则是name.remove()。集合中最常用的就是进行交集“&”、并集“|”、差集“-”和对称差集“^”运算。
总结:
四种序列的区别
序列类别|是否可变|是否重复|是否有序|定义符号
-|-|-|-|-|-
列表|可变|可重复|有序|[]
元组|不可变|可重复|有序|()
字典|可变|可重复|无序|{'key':'value'}
集合|可变|不可重复|无序|{}
个人感觉序列是Python中很重要的基础部分,用法简单方便快捷但是函数、格式较多,需要多加练习运用。