博客
关于我
Python基础语法:基本数据类型(列表)
阅读量:796 次
发布时间:2023-03-07

本文共 4172 字,大约阅读时间需要 13 分钟。

Python 列表概述

在 Python 中,列表是一种非常强大的数据结构,它是一种有序的可变集合,能够存储不同类型的元素。列表的灵活性和可扩展性使其成为 Python 编程中的核心数据结构之一。

列表的创建

2.1 使用方括号创建列表

可以通过方括号直接创建列表。例如:

my_list = [1, 2, 3, "Hello", True]

列表中的元素用逗号分隔,可以包含字符串、数字、布尔值、列表、字典等不同类型的元素。

2.2 使用 list() 函数创建列表

list() 函数也可以将其他可迭代对象转换为列表。例如:

my_list = list("Hello")  # 结果为 ['H', 'e', 'l', 'l', 'o']

列表的基本操作

3.1 查找列表元素

3.1.1 通过索引访问列表中的元素

通过索引可以访问列表中的元素。索引从 0 开始。

my_list = [1, 2, 3, "Hello", True]
print(my_list[0]) # 输出:1
3.1.2 通过列表中的元素查找第一个匹配的索引位置

可以使用 index() 方法查找某个值的第一个匹配项的索引位置。

my_list = [1, 2, 3, 2, 4]
index = my_list.index(2) # index 是 1,因为 2 第一次出现在索引 1 的位置
3.1.3 查找列表中某个元素出现的次数

可以使用 count() 方法查找某个值出现的次数。

my_list = [1, 2, 3, 2, 2, 4]
count = my_list.count(2) # count 是 3,因为 2 出现了 3 次
3.1.4 查找列表元素的个数

可以使用 len() 函数查找列表的长度。

lst = [1, 2, 3, 4, 5]
print(len(lst)) # 输出:5
3.1.5 通过切片获取列表中的一部分元素

切片可以获取列表中的一部分元素,并返回一个新列表。

my_list = [1, 2, 3, "Hello", True]
print(my_list[1:4]) # 输出:[2, 3, 'Hello']
3.1.6 查找列表中的最大数或最小数

可以使用 max() 和 min() 函数查找列表中的最大值和最小值。

numbers = [4, 2, 9, 7, 5, 1]
max_num = max(numbers) # 输出:9
min_num = min(numbers) # 输出:1

列表的增删改

3.2 增加列表元素

3.2.1 在列表末尾添加新的元素

可以使用 append() 方法在列表末尾添加元素。

my_list = []
my_list.append(1)
my_list.append(2)
my_list.append(3)
print(my_list) # 输出:[1, 2, 3]
3.2.2 在列表末尾一次性追加另一个序列中的多个值

可以使用 extend() 方法将一个可迭代对象中的所有元素添加到列表末尾。

my_list = [1, 2, 3]
other_list = [4, 5, 6]
my_list.extend(other_list)
print(my_list) # 输出:[1, 2, 3, 4, 5, 6]
3.2.3 在列表中插入元素

可以使用 insert() 方法在指定位置插入元素。

my_list = [1, 2, 3, 5]
my_list.insert(3, 4)
print(my_list) # 输出:[1, 2, 3, 4, 5]
3.2.4 列表的拼接

可以使用 + 运算符将两个列表拼接起来。

list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list1 + list2
print(result) # 输出:[1, 2, 3, 4, 5, 6]

3.3 改变列表的元素

3.3.1 索引赋值

可以通过索引赋值修改列表中的元素。

my_list = [1, 2, 3, 4, 5]
my_list[2] = 10
print(my_list) # 输出:[1, 2, 10, 4, 5]
3.3.2 切片赋值

可以使用切片赋值替换列表中的一部分元素。

my_list = [1, 2, 3, 4, 5]
my_list[1:3] = [10, 20]
print(my_list) # 输出:[1, 10, 20, 4, 5]
3.3.3 改变列表的顺序

可以使用 sort() 方法对列表进行排序。

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
my_list.sort() # 默认按升序排序
print(my_list) # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 6, 9]
3.3.4 反转列表的元素顺序

可以使用 reverse() 方法反转列表的顺序。

my_list = [1, 2, 3, 4, 5]
my_list.reverse()
print(my_list) # 输出:[5, 4, 3, 2, 1]

3.4 删除列表的元素

3.4.1 移除列表中第一个匹配到的指定值的元素

可以使用 remove() 方法移除第一个匹配到的元素。

my_list = [1, 2, 3, 4, 5]
my_list.remove(3)
print(my_list) # 输出:[1, 2, 4, 5]
3.4.2 移除列表中指定位置的元素

可以使用 pop() 方法移除并返回指定位置的元素。

my_list = [1, 2, 3, 4, 5]
removed_element = my_list.pop() # 移除并返回最后一个元素
print(removed_element) # 输出:5
print(my_list) # 输出:[1, 2, 3, 4]
3.4.3 删除单个元素或切片范围内的多个元素

可以使用 del 语句删除列表中的元素。

my_list = [1, 2, 3, 4, 5]
del my_list[1] # 删除索引为 1 的元素
print(my_list) # 输出:[1, 3, 4, 5]
del my_list[1:3] # 删除索引 1 到 2 的元素
print(my_list) # 输出:[1, 5]

列表的高级特性

4.1 列表的嵌套

列表可以包含其他列表作为元素,形成嵌套结构。

nested_list = [1, 2, [3, 4, 5], 6, [7, [8, 9]]]
print(nested_list[2]) # 输出:[3, 4, 5]
print(nested_list[2][1]) # 输出:4
print(nested_list[4][1][0]) # 输出:8

4.2 列表推导式

列表推导式是一种简洁的语法结构,用于生成新列表。

squares = [x**2 for x in range(10) if x % 2 != 0]
print(squares) # 输出:[1, 9, 25, 49, 81]

列表在实际应用中的场景

5.1 存储和管理数据

列表非常适合存储和管理有序的数据项。

scores = []
scores.append(90)
scores.append(85)
scores.append(78)
scores.append(92)
print(scores) # 输出:[90, 85, 78, 92]
scores[1] = 88
print(scores) # 输出:[90, 88, 78, 92]
scores.remove(78)
print(scores) # 输出:[90, 88, 92]
scores.sort()
print(scores) # 输出:[88, 90, 92]

5.2 实现栈和队列的数据结构

列表可以模拟栈和队列的行为。

# 栈示例
stack = []
stack.append(1)
stack.append(2)
stack.append(3)
print(stack.pop()) # 输出:3
print(stack.pop()) # 输出:2
print(stack.pop()) # 输出:1
# 队列示例
from collections import deque
queue = deque()
queue.append(1)
queue.append(2)
print(queue.popleft()) # 输出:1
print(queue.popleft()) # 输出:2

5.3 列表在算法中的应用

列表在排序、搜索等算法中的应用非常广泛。

# 帮助排序的算法
def selection_sort(nums):
for i in range(len(nums)):
min_val = nums[i]
min_index = i
for j in range(i, len(nums)):
if nums[j] < min_val:
min_val = nums[j]
min_index = j
nums[i], nums[min_index] = nums[min_index], nums[i]
return nums
num_list = [3, 1, 4, 2]
selection_sort(num_list)
print(num_list) # 输出:[1, 2, 3, 4]

列表是 Python 中最强大的数据结构之一,其灵活性和功能使其在数据存储、管理和操作中占据核心地位。

转载地址:http://mxofk.baihongyu.com/

你可能感兴趣的文章
python实现非参数统计的Cochran检验 (附完整源码)
查看>>
python 怎么验证是否安装成功 scrapy
查看>>
Python 手写数字识别-1
查看>>
Python实现接口自动化测试库(JSON与Requests)详解
查看>>
Python 手写数字识别-3-sklearn中的几种算法
查看>>
python实现SSIM和MSSSIM计算 (附完整源码)
查看>>
Python 打开文件注意事项
查看>>
python 批量修改文件名_python windows下批量修改文件名
查看>>
Python 抓取网页乱码问题 以及EXCEL乱码
查看>>
python 抓取网页内容
查看>>
python 按照当前日期创建文件
查看>>
Python 接口并发测试详解
查看>>
Python 接口自动化 —— requests框架
查看>>
python 接口自动化数据结构(如列表、字典、元组)
查看>>
Python 接口自动化测试中的深拷贝与浅拷贝~
查看>>
Python 接口自动化测试中的高阶函数
查看>>
python 控制 cmd 命令行颜色
查看>>
Python 操作 Azure Blob Storage
查看>>
Python 操作 Excel 全攻略 | 包括读取、写入、表格操作、图像输出和字体设置
查看>>
Python 操作 JMeter 探索:pymeter 实操指南
查看>>