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中很重要的基础部分,用法简单方便快捷但是函数、格式较多,需要多加练习运用。