Python列表与元组学习笔记

简介: Python列表与元组学习笔记

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 元组与列表的区别

       元组和列表的区别在于元组是不可变的,而列表是可变的。因为元组是不可变的,所以元组可以作为字典的键、集合的元素或其他需要不可变对象的地方。


相关文章
|
6天前
|
测试技术 开发者 Python
在 Python 中创建列表时,应该写 `[]` 还是 `list()`?
在 Python 中,创建列表有两种方法:使用方括号 `[]` 和调用 `list()` 函数。虽然两者都能创建空列表,但 `[]` 更简洁、高效。性能测试显示,`[]` 的创建速度比 `list()` 快约一倍。此外,`list()` 可以接受一个可迭代对象作为参数并将其转换为列表,而 `[]` 则需要逐一列举元素。综上,`[]` 适合创建空列表,`list()` 适合转换可迭代对象。
在 Python 中创建列表时,应该写 `[]` 还是 `list()`?
|
9天前
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
22 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
9天前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
27 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
10天前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
67 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
10天前
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
50 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
2天前
|
数据处理 开发者 Python
Python中的列表推导式:一种优雅的代码简化技巧####
【10月更文挑战第15天】 本文将深入浅出地探讨Python中列表推导式的使用,这是一种强大且简洁的语法结构,用于从现有列表生成新列表。通过具体示例和对比传统循环方法,我们将揭示列表推导式如何提高代码的可读性和执行效率,同时保持语言的简洁性。无论你是Python初学者还是有经验的开发者,掌握这一技能都将使你的编程之旅更加顺畅。 ####
9 1
|
9天前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
20 1
|
9天前
|
Ubuntu Linux Python
Ubuntu学习笔记(六):ubuntu切换Anaconda和系统自带Python
本文介绍了在Ubuntu系统中切换Anaconda和系统自带Python的方法。方法1涉及编辑~/.bashrc和/etc/profile文件,更新Anaconda的路径。方法2提供了详细的步骤指导,帮助用户在Anaconda和系统自带Python之间进行切换。
35 1
|
10天前
|
开发者 Python
探索Python中的列表推导式:简化代码的利器
在Python编程中,列表推导式是一种简洁而强大的工具,它允许开发者以一行代码实现复杂的列表操作。本文将深入探讨列表推导式的语法、优势以及实际应用,帮助读者更好地利用这一特性来优化代码。
|
11天前
|
大数据 数据处理 Python
探索Python中的列表推导式
【10月更文挑战第6天】 在Python编程中,列表推导式(List Comprehension)是一种简洁而强大的工具,用于生成列表。通过结合循环和条件语句,列表推导式可以在一行代码中实现复杂的列表操作。本文将深入探讨列表推导式的语法、常见用法以及一些高级技巧,帮助你更有效地使用这一特性。
14 1