一、什么是Python序列?
在Python中,序列(Sequence) 是一种能够保存多个数据,并且按照一定顺序排列的数据结构。
序列中的每一个元素都有一个对应的位置编号,这个编号叫做索引(index)。
Python中常见的序列类型:
| 序列类型 | 是否可修改 | 示例 |
|---|---|---|
| 字符串(str) | 不可修改 | "hello" |
| 列表(list) | 可修改 | 1,2,3 |
| 元组(tuple) | 不可修改 | (1,2,3) |
例如:
python
nums = [10,20,30,40]
print(nums)
输出:
text
[10,20,30,40]
列表中的每个元素都有自己的位置:
元素: 10 20 30 40
索引: 0 1 2 3
Python序列的索引默认从 0开始。
二、序列的特点
Python序列主要具有以下特点:
1. 有序
序列中的元素按照一定顺序排列。
例如:
python
list1 = ["Python","Java","C++"]
print(list1)
结果:
text
['Python','Java','C++']
元素的位置不会随机改变。
2. 可以通过索引访问
例如:
python
languages = ["Python","Java","Go"]
print(languages[0])
print(languages[1])
输出:
text
Python
Java
3. 支持切片操作
可以获取序列中的一部分数据。
例如:
python
numbers = [1,2,3,4,5]
print(numbers[1:4])
输出:
text
[2,3,4]
三、Python序列索引
1. 正向索引
正向索引从0开始:
python
names = ["Tom","Jack","Lucy"]
print(names[0])
print(names[2])
输出:
text
Tom
Lucy
对应关系:
索引: 0 1 2
元素: Tom Jack Lucy
2. 负索引
Python支持从后往前访问元素。
最后一个元素索引为:
-1
例如:
python
names = ["Tom","Jack","Lucy"]
print(names[-1])
print(names[-2])
输出:
text
Lucy
Jack
对应关系:
元素: Tom Jack Lucy
索引: 0 1 2
-3 -2 -1
四、序列切片(重点)
切片是Python序列中非常重要的操作。
格式:
python
序列[start:end:step]
参数说明:
| 参数 | 说明 |
|---|---|
| start | 开始位置 |
| end | 结束位置(不包含) |
| step | 步长 |
1. 基本切片
例如:
python
nums = [0,1,2,3,4,5]
print(nums[1:4])
输出:
text
[1,2,3]
注意:
结束位置4不会被包含。
2. 从头开始切片
省略start:
python
nums = [1,2,3,4,5]
print(nums[:3])
输出:
text
[1,2,3]
3. 切片到末尾
省略end:
python
nums = [1,2,3,4,5]
print(nums[2:])
输出:
text
[3,4,5]
4. 设置步长
例如:
python
nums = [1,2,3,4,5,6]
print(nums[::2])
输出:
text
[1,3,5]
表示每隔一个元素取一次。
5. 反向切片
使用负步长:
python
nums = [1,2,3,4,5]
print(nums[::-1])
输出:
text
[5,4,3,2,1]
常用于:
- 字符串反转
- 列表倒序
例如:
python
text = "Python"
print(text[::-1])
输出:
text
nohtyP
五、序列常用操作
Python提供了一些通用序列操作。
1. 获取长度 len()
使用len()可以获取序列元素数量。
例如:
python
nums = [10,20,30,40]
print(len(nums))
输出:
text
4
2. 判断元素是否存在 in
例如:
python
names = ["Tom","Jack","Lucy"]
print("Tom" in names)
输出:
text
True
不存在:
python
print("Mike" in names)
输出:
text
False
3. 连接序列 +
多个序列可以连接。
例如:
python
a = [1,2,3]
b = [4,5,6]
print(a+b)
输出:
text
[1,2,3,4,5,6]
4. 重复序列 *
可以让序列重复。
例如:
python
nums = [1,2]
print(nums*3)
输出:
text
[1,2,1,2,1,2]
5. 最大值和最小值
数字序列可以使用:
- max()
- min()
例如:
python
nums = [10,50,30]
print(max(nums))
print(min(nums))
输出:
text
50
10
六、列表(list)------最常用的序列
列表是Python中使用最多的数据结构之一。
特点:
- 有序
- 可修改
- 可以保存多个不同类型的数据
例如:
python
student = [
"Tom",
18,
95.5
]
print(student)
输出:
text
['Tom',18,95.5]
七、列表元素的增加
1. append()
在列表末尾添加元素。
python
books = ["Python"]
books.append("Java")
print(books)
输出:
text
['Python','Java']
2. insert()
指定位置插入。
python
nums=[1,3]
nums.insert(1,2)
print(nums)
输出:
text
[1,2,3]
3. extend()
合并两个列表。
python
a=[1,2]
b=[3,4]
a.extend(b)
print(a)
输出:
text
[1,2,3,4]
八、列表元素删除
1. remove()
删除指定元素:
python
nums=[1,2,3]
nums.remove(2)
print(nums)
结果:
text
[1,3]
2. pop()
删除指定索引元素:
python
nums=[10,20,30]
nums.pop(1)
print(nums)
结果:
text
[10,30]
3. del
删除元素:
python
nums=[1,2,3]
del nums[0]
print(nums)
输出:
text
[2,3]
九、列表修改元素
列表可以直接修改:
python
names=["Tom","Jack"]
names[0]="Mike"
print(names)
输出:
text
['Mike','Jack']
十、列表遍历
1. for循环遍历
python
names=["Tom","Jack","Lucy"]
for name in names:
print(name)
输出:
text
Tom
Jack
Lucy
2. 使用索引遍历
python
nums=[10,20,30]
for i in range(len(nums)):
print(nums[i])
输出:
text
10
20
30
十一、列表排序
sort()
默认升序:
python
nums=[5,2,8,1]
nums.sort()
print(nums)
输出:
text
[1,2,5,8]
降序:
python
nums.sort(reverse=True)
print(nums)
输出:
text
[8,5,2,1]
十二、列表和其他序列区别
| 特点 | list | tuple | str |
|---|---|---|---|
| 是否有序 | 是 | 是 | 是 |
| 是否可修改 | 是 | 否 | 否 |
| 是否支持索引 | 是 | 是 | 是 |
| 是否支持切片 | 是 | 是 | 是 |
十三、实际应用案例
1. 保存学生成绩
python
scores=[
88,
90,
76,
95
]
average=sum(scores)/len(scores)
print(average)
输出:
text
87.25
2. 商品购物车
python
cart=[
"手机",
"电脑",
"耳机"
]
cart.append("鼠标")
print(cart)
3. 数据处理
python
data=[5,3,8,1]
data.sort()
print(data)
结果:
text
[1,3,5,8]
十四、总结
Python序列是学习Python数据结构的重要基础。
核心知识点:
-
Python常见序列:
- list
- tuple
- str
-
序列特点:
- 有序
- 支持索引
- 支持切片
-
常用操作:
- len()
- in
- 切片
-
列表重点:
- 添加元素
- 删除元素
- 修改元素
- 遍历
- 排序
掌握序列操作后,可以为后面的Python数据处理、爬虫、自动化、数据分析打下坚实基础。