当前位置: 首页 > news >正文

Python数据结构(上):字符串、列表、元组

在 Python 编程中,数据结构是组织和存储数据的基本方式。掌握常用的数据结构,是编写高效、清晰代码的基础。本文将带你了解 Python 中最常用的三种序列类型:字符串(String)列表(List)元组(Tuple)。它们都属于“有序序列”,支持索引和切片操作,但在用途和特性上各有不同。


一、字符串(String)

1. 什么是字符串?

字符串是用于表示文本的数据类型,由一系列字符组成。在 Python 中,字符串可以用单引号' '、双引号" "或三引号''' '''来定义。

name = "Alice"

greeting = 'Hello, World!'

multiline = """这是

一个多行

字符串"""

2. 字符串的特点

  • 不可变性(Immutable):一旦创建,字符串的内容不能被修改。
  • 支持索引和切片操作。
  • 提供丰富的内置方法,如.upper().lower().split().replace()等。

3. 常用操作示例

text = "Python"

# 索引访问

print(text[0]) # 输出: P

# 切片

print(text[1:4]) # 输出: yth

# 不可变性示例

# text[0] = 'J' # 错误!字符串不能修改

# 常用方法

print(text.upper()) # 输出: PYTHON

print(text.replace("Py", "Jy")) # 输出: Jython

✅ 使用场景:处理文本信息,如用户输入、文件内容、网络数据等。


二、列表(List)

1. 什么是列表?

列表是 Python 中最灵活的有序集合类型,可以存储不同类型的数据,并且长度可变。

fruits = ["apple", "banana", "cherry"]

numbers = [1, 2, 3, 4, 5]

mixed = [1, "hello", 3.14, True]

2. 列表的特点

  • 可变性(Mutable):可以添加、删除或修改元素。
  • 支持索引、切片、遍历。
  • 提供多种方法,如.append().remove().sort().insert()等。

3. 常用操作示例

my_list = [10, 20, 30]

# 修改元素

my_list[1] = 25

print(my_list) # 输出: [10, 25, 30]

# 添加元素

my_list.append(40)

print(my_list) # 输出: [10, 25, 30, 40]

# 删除元素

my_list.remove(25)

print(my_list) # 输出: [10, 30, 40]

# 切片

print(my_list[1:]) # 输出: [30, 40]

✅ 使用场景:需要动态管理一组数据时,如任务列表、学生成绩、购物车等。


三、元组(Tuple)

1. 什么是元组?

元组与列表类似,也是一种有序序列,但使用圆括号( )定义。

point = (3, 5)

colors = ("red", "green", "blue")

single = (42,) # 单个元素元组需加逗号

2. 元组的特点

  • 不可变性(Immutable):创建后不能修改元素。
  • 比列表更轻量,访问速度更快。
  • 可用于字典的键(因为不可变),而列表不能。

3. 常用操作示例

coordinates = (10, 20)

# 索引访问

print(coordinates[0]) # 输出: 10

# 切片

print(coordinates[1:]) # 输出: (20,)

# 尝试修改会报错

# coordinates[0] = 15 # 报错!

# 元组解包

x, y = coordinates

print(x, y) # 输出: 10 20

✅ 使用场景:表示固定的数据组合,如坐标点、RGB颜色值、函数返回多个值等。


四、三者的对比总结

特性字符串(String)列表(List)元组(Tuple)
可变性不可变可变不可变
语法' '" "[ ]( )
存储内容字符任意类型任意类型
是否支持索引
是否可重复
典型用途文本处理动态数据集合固定结构数据

五、如何选择?

  • 需要存储和操作文本? → 使用字符串
  • 需要一个可变的、可扩展的集合? → 使用列表
  • 需要一个固定的、安全的结构(如配置项、坐标)? → 使用元组

结语

字符串、列表和元组是 Python 编程中最基础也是最重要的三种数据结构。理解它们的特性和适用场景,能帮助你写出更清晰、高效的代码。随着学习的深入,你还会接触到字典(dict)和集合(set),它们与这三者共同构成了 Python 数据处理的核心工具箱。

🌟 小贴士:多动手练习!尝试创建不同的字符串、列表和元组,并使用索引、切片和方法进行操作,是掌握它们的最佳方式。

http://www.cnnetsun.cn/news/172954.html

相关文章:

  • Excalidraw图形权限细粒度控制
  • Excalidraw图形导出为React组件
  • HLS用于应用加速
  • 从入门到精通:Open-AutoGLM账号权限管理的8个必知功能模块
  • 我要搞个ai程序操控鼠标,截取屏幕,识别刀路,给ai一个刀路寻找规则的prompt,然后ai自己去按规则顺序点亮刀路
  • JavaScript 数据类型详解:分类、种类、判断方法及深浅差异
  • Excalidraw与Notion集成实践:构建智能笔记系统
  • 永磁同步电机多物理场仿真案例:电磁、谐响应与噪声分析,适合学习
  • gcc-c++-7.3.0 rpm安装方法 Linux麒麟KY10完整步骤
  • Open-AutoGLM迁移学习冷启动难题破解,快速落地NLP任务的密钥方法
  • 开发者福音:Excalidraw支持代码模式直接导出图形
  • 构建以质量为核心的软件开发文化生态
  • 提升生产力:Excalidraw + AI 自动生成系统架构图
  • Open-AutoGLM微调加速实战(稀缺技术文档首次公开)
  • Open-AutoGLM部署性能提升80%的秘密:跨平台适配中的3个致命误区与解决方案
  • Open-AutoGLM本地化部署实战(局域网离线运行全方案)
  • django基于Python的电影票房爬取与可视化系统的设计与实现vue
  • 计算机毕设Java基于智能推荐的车辆交易管理系统 Java技术实现的智能推荐车辆交易管理平台设计 基于Java的车辆交易管理系统与智能推荐功能的融合开发
  • Open-AutoGLM迁移学习应用瓶颈突破(专家级调优策略全公开)
  • 【Open-AutoGLM局域网部署终极指南】:手把手教你从零搭建高效私有化AI推理环境
  • 健身达人微信小程序的设计与实现毕设源码(源码+lw+部署文档+讲解等)
  • Open-AutoGLM如何实现无缝跨平台部署?:99%工程师忽略的5个关键适配步骤
  • 利用docker在windows 11 wsl中安装oracle 12cR2
  • 【Open-AutoGLM预训练模型适配指南】:揭秘高效迁移学习背后的核心技术细节
  • Cesium快速入门30:CMZL动画
  • Excalidraw工业互联网平台架构图实战
  • 重器轻用后,你的笔记资料分散各处,怎么办?
  • 10 个AI论文工具,助继续教育学员轻松完成写作!
  • 显存暴涨问题难追踪?Open-AutoGLM动态资源监控方案来了
  • Open-AutoGLM生产环境崩溃频发,这套自动修复配置让你彻底告别半夜救火