目录
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 元组与列表的区别
元组和列表的区别在于元组是不可变的,而列表是可变的。因为元组是不可变的,所以元组可以作为字典的键、集合的元素或其他需要不可变对象的地方。