通往 AI 之路:Python 机器学习入门-数据结构

Python 数据结构

Python 提供了多种数据结构来存储和操作数据,其中列表(list)、字典(dict)、元组(tuple)和集合(set)是最常用的几种。本章将详细介绍这些数据结构的基本操作及其应用。

1.2.1 列表(list)

列表(list)是 Python 中最常见的数据结构之一,它是一个有序可变的序列,可以存储不同类型的元素。

1. 创建列表

python 复制代码
# 创建一个包含多个元素的列表
numbers = [1, 2, 3, 4, 5]
mixed_list = [1, "hello", 3.14, True]  # 可以存储不同类型的元素
empty_list = []  # 创建空列表

2. 索引和切片

python 复制代码
# 访问列表元素(索引从 0 开始)
print(numbers[0])  # 输出 1
print(numbers[-1])  # 输出 5(负索引表示从后往前)

# 切片操作(获取子列表)
print(numbers[1:4])  # 输出 [2, 3, 4]
print(numbers[:3])   # 输出 [1, 2, 3]
print(numbers[::2])  # 输出 [1, 3, 5](步长为 2)

3. 遍历列表

python 复制代码
# 使用 for 循环遍历列表
for num in numbers:
    print(num)

# 使用 enumerate() 获取索引和值
for index, value in enumerate(numbers):
    print(f"索引 {index} 对应的值是 {value}")

4. 列表推导式

列表推导式是一种简洁的方式来创建列表。

python 复制代码
# 生成 0-9 的平方列表
squares = [x**2 for x in range(10)]
print(squares)  # 输出 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# 生成偶数列表
evens = [x for x in range(10) if x % 2 == 0]
print(evens)  # 输出 [0, 2, 4, 6, 8]

1.2.2 字典(dict)

字典(dict)是一种键值对 (key-value)数据结构,使用 {} 作为表示。

1. 创建字典

python 复制代码
# 创建字典
student = {"name": "Alice", "age": 25, "major": "Computer Science"}
empty_dict = {}  # 创建空字典

2. 键值对操作

python 复制代码
# 访问字典元素
print(student["name"])  # 输出 Alice

# 添加或更新键值对
student["grade"] = "A"  # 新增键值对
student["age"] = 26  # 更新 age 值

# 删除键值对
del student["major"]
print(student)  # {'name': 'Alice', 'age': 26, 'grade': 'A'}

3. 字典合并

python 复制代码
# 使用 update() 方法合并字典
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
dict1.update(dict2)
print(dict1)  # {'a': 1, 'b': 3, 'c': 4}

1.2.3 元组(tuple)和集合(set)

1. 元组(tuple)

元组是不可变的序列,常用于存储不可变的数据。

python 复制代码
# 创建元组
tup = (1, 2, 3, "hello")

# 访问元组元素
print(tup[0])  # 输出 1

# 元组解包
a, b, c, d = tup
print(a, d)  # 输出 1 hello

2. 集合(set)

集合是无序唯一的元素集合。

python 复制代码
# 创建集合
s = {1, 2, 3, 4, 4, 2}
print(s)  # 输出 {1, 2, 3, 4}(去重)

# 集合运算
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b)  # 并集 {1, 2, 3, 4, 5}
print(a & b)  # 交集 {3}
print(a - b)  # 差集 {1, 2}

通过本章的学习,我们了解了 Python 中的四种主要数据结构:列表、字典、元组和集合。这些数据结构是编写 Python 代码的基础,掌握它们的使用方法将为后续的编程提供强大的支持。建议多实践代码,加深理解!

相关推荐
RaymondZhao344 分钟前
【全面推导】策略梯度算法:公式、偏差方差与进化
人工智能·深度学习·算法·机器学习·chatgpt
好望角雾眠7 分钟前
第一阶段C#基础-10:集合(Arraylist,list,Dictionary等)
笔记·学习·c#
艾伦~耶格尔11 分钟前
【集合框架LinkedList底层添加元素机制】
java·开发语言·学习·面试
zhangfeng113312 分钟前
DBSCAN算法详解和参数优化,基于密度的空间聚类算法,特别擅长处理不规则形状的聚类和噪声数据
算法·机器学习·聚类
星仔编程22 分钟前
python学习DAY46打卡
学习
yujkss25 分钟前
Python脚本每天爬取微博热搜-终版
开发语言·python
yzx99101328 分钟前
小程序开发APP
开发语言·人工智能·python·yolo
一只叫煤球的猫33 分钟前
🕰 一个案例带你彻底搞懂延迟双删
java·后端·面试
冒泡的肥皂1 小时前
MVCC初学demo(一
数据库·后端·mysql
飞翔的佩奇1 小时前
【完整源码+数据集+部署教程】二维码与查找模式检测系统源码和数据集:改进yolo11-CSwinTransformer
python·yolo·计算机视觉·数据集·yolo11·二维码与查找模式检测