1. 序列概述
序列是Python中最基本的数据结构之一,用于存储一系列有序的元素。在Python中,列表与元组都是序列类型的数据结构,具有顺序、可索引和可切片的特性。
1.1 索引
索引允许我们通过指定位置的数字,来访问序列中的元素。Python中的索引从0开始,即第一个元素的索引为0,第二个元素的索引为1,以此类推。
示例代码:
```python # 创建一个列表 fruits = ['apple', 'banana', 'orange'] # 访问列表中的元素 print(fruits[0]) # 输出: 'apple' print(fruits[1]) # 输出: 'banana' print(fruits[2]) # 输出: 'orange' ```
1.2 切片
切片是指可以通过指定起始位置和结束位置,来选择序列中一部分元素。切片操作的结果会返回一个新的序列。
示例代码:
```python # 创建一个列表 numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 切片操作 print(numbers[2:5]) # 输出: [3, 4, 5] print(numbers[:5]) # 输出: [1, 2, 3, 4, 5] print(numbers[5:]) # 输出: [6, 7, 8, 9, 10] print(numbers[2:8:2]) # 输出: [3, 5, 7] ```
1.3 序列相加
序列相加是指将两个序列合并成一个新的序列。
示例代码;
```python # 创建两个列表 fruits = ['apple', 'banana'] colors = ['red', 'yellow'] # 序列相加 combined = fruits + colors print(combined) # 输出: ['apple', 'banana', 'red', 'yellow'] ```
1.4 乘法
乘法是指将序列重复多次。
示例代码:
```python # 创建一个列表 numbers = [1, 2] # 乘法操作 doubled = numbers * 2 print(doubled) # 输出: [1, 2, 1, 2] ```
1.5 检查某个元素是否是序列的成员
可以使用‘in’关键字来检查某个元素是否是序列的成员。
示例代码:
```python # 创建一个列表 fruits = ['apple', 'banana', 'orange'] # 检查某个元素是否是序列的成员 print('apple' in fruits) # 输出: True print('grape' in fruits) # 输出: False ```
1.6 计算列表的长度、最大值、和最小值
可以使用内置函数‘len()’、‘max()’和‘min()’来分别计算序列的长度、最大值和最小值。
示例代码:
```python # 创建一个列表 numbers = [1, 2, 3, 4, 5] # 计算列表的长度 print(len(numbers)) # 输出: 5 # 计算列表的最大值 print(max(numbers)) # 输出: 5 # 计算列表的最小值 print(min(numbers)) # 输出: 1 ```
2. 列表
列表是一种可变序列类型,用于存储一系列有序的元素。列表是用括号‘[]’来表示,元素之间用逗号隔开‘,’分隔。
2.1 列表的创建与删除
可以使用‘[]’来创建一个列表,如果需要在创建时直接包含一些元素,可以在方括号中使用逗号‘,’将元素列出来。可以使用‘del’关键字来删除列表中的元素。
示例代码:
```python # 创建一个空列表 empty_list = [] # 创建一个包含元素的列表 fruits = ['apple', 'banana', 'orange'] # 删除列表中的元素 del fruits[1] print(fruits) # 输出: ['apple', 'orange'] ```
2.2 访问列表元素
可以使用索引来访问列表中的元素。
示例代码:
示例代码:
示例代码: ```python # 创建一个列表 fruits = ['apple', 'banana', 'orange'] # 访问列表中的元素 print(fruits[0]) # 输出: 'apple' print(fruits[1]) # 输出: 'banana' print(fruits[2]) # 输出: 'orange' ```
2.3 遍历列表
可以使用循环来遍历列表中的所有元素。
示例代码:
```python # 创建一个列表 fruits = ['apple', 'banana', 'orange'] # 遍历列表中的元素 for fruit in fruits: print(fruit) ```
2.4 添加、修改和删除列表元素
可以使用‘append()’方法向列表末尾添加一个元素,使用索引来修改列表中的元素,使用‘remove()’方法或‘del’关键字来删除列表中的元素。
示例代码:
```python # 创建一个空列表 fruits = [] # 添加元素到列表末尾 fruits.append('apple') fruits.append('banana') # 修改列表中的元素 fruits[1] = 'orange' # 删除列表中的元素 fruits.remove('apple') del fruits[0] print(fruits) # 输出: ['orange'] ```
2.5 对列表进行统计计算
可以使用内置函数‘len()’、‘sum()’和‘cout()’来计算列表的长度、元素的和以及某个元素在列表中出现的次数。
示例代码:
```python # 创建一个列表 numbers = [1, 2, 2, 3, 3, 3] # 计算列表的长度 print(len(numbers)) # 输出: 6 # 计算列表的和 print(sum(numbers)) # 输出: 14 # 计算某个元素在列表中出现的次数 print(numbers.count(2)) # 输出: 2 ```
2.6 对列表进行排序
可以使用‘sort()’方法对列表进行排序。默认情况下,‘sort()’方法会按照升序对列表进行排序,也可以指定‘reverse=True’参数来进行降序排序。
示例代码:
```python # 创建一个列表 numbers = [5, 2, 3, 1, 4] # 对列表进行排序 numbers.sort() print(numbers) # 输出: [1, 2, 3, 4, 5] ```
2.7 列表推导式
列表推导式是一种快速创建列表的方法,通过一个表达式后面加上一个循环,可以一次性生成一个列表。
示例代码:
```python # 使用列表推导式创建一个包含1到10的数字的列表 numbers = [i for i in range(1, 11)] print(numbers) # 输出: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ```
2.8 二维列表
二维列表是指列表中的元素也是列表的情况下,可以通过多重循环来访问和修改二维列表中的元素。
示例代码:
```python # 创建一个二维列表 matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # 访问二维列表中的元素 print(matrix[0][0]) # 输出: 1 print(matrix[1][1]) # 输出: 5 print(matrix[2][2]) # 输出: 9 # 修改二维列表中的元素 matrix[1][2] = 10 print(matrix) # 输出: [[1, 2, 3], [4, 5, 10], [7, 8, 9]] ```
3. 元组
元组是一种不可变序列类型,用于存储一系列有序的元素。元组使用圆括号‘()’来表示,元素之间使用逗号‘,’来分隔。
3.1 元组的创建与删除
可以使用圆括号‘()’来创建一个元组,如果需要在创建时直接包含一些元素,可以在圆括号中使用逗号‘,’将元素列出来。由于元组是不可变的,所以无法直接删除元组中的元素。
示例代码:
```python # 创建一个空元组 empty_tuple = () # 创建一个包含元素的元组 fruits = ('apple', 'banana', 'orange') ```
3.2 访问元组元素
可以使用索引来访问元组中的元素。
示例代码:
```python # 创建一个元组 fruits = ('apple', 'banana', 'orange') # 访问元组中的元素 print(fruits[0]) # 输出: 'apple' print(fruits[1]) # 输出: 'banana' print(fruits[2]) # 输出: 'orange' ```
3.3 修改元组
由于元组是不可变的,所以无法直接修改元组中的元素。如果需要修改元组中的元素,可以将元组转换为列表,然后再修改列表中的元素,最后再将列表换回元组。
示例代码:
```python # 创建一个元组 fruits = ('apple', 'banana', 'orange') # 将元组转换为列表 fruits_list = list(fruits) # 修改列表中的元素 fruits_list[1] = 'pear' # 将列表转换回元组 fruits = tuple(fruits_list) print(fruits) # 输出: ('apple', 'pear', 'orange') ```
3.4 元组推导式
元组推导式和列表推导式类似,也可以快速创建元组。
示例代码:
```python # 使用元组推导式创建一个包含1到10的数字的元组 numbers = (i for i in range(1, 11)) print(tuple(numbers)) # 输出: (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) ```
3.5 元组与列表的区别
元组和列表的区别在于元组是不可变的,而列表是可变的。因为元组是不可变的,所以元组可以作为字典的键、集合的元素或其他需要不可变对象的地方。