news 2026/7/7 20:22:50

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 数据处理的核心工具箱。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 18:07:03

Excalidraw与MindMap融合的可能性探讨

Excalidraw与MindMap融合的可能性探讨 在一场远程产品脑暴会议中,团队成员各自面对屏幕,试图用传统思维导图工具梳理一个复杂系统的架构。线条笔直、节点规整,但总觉得少了点“灵感迸发”的味道;更糟的是,当多人同时编…

作者头像 李华
网站建设 2026/7/7 1:43:59

揭秘Open-AutoGLM共享架构:如何让10+团队无缝协作不踩坑

第一章:揭秘Open-AutoGLM共享架构:协同创新的起点Open-AutoGLM 是一个面向自动化自然语言处理任务的开源共享架构,旨在通过模块化设计与开放接口促进开发者社区的协同创新。其核心理念是将大模型能力解耦为可插拔组件,使研究人员和…

作者头像 李华
网站建设 2026/7/6 22:37:01

Open-AutoGLM表情数据采集困局破解(行业首份全流程方案)

第一章:Open-AutoGLM表情包收集在人工智能与自然语言处理快速融合的背景下,Open-AutoGLM作为一款基于多模态大模型的表情包自动化生成与收集框架,正逐渐成为社区创作者的重要工具。它不仅支持从公开社交平台智能抓取图文内容,还能…

作者头像 李华
网站建设 2026/7/7 7:53:46

Excalidraw版本升级迁移注意事项

Excalidraw 版本升级迁移注意事项 在远程协作日益成为主流工作模式的今天,可视化工具早已不再是“锦上添花”的辅助手段,而是产品设计、架构讨论乃至跨团队沟通的核心载体。Excalidraw 凭借其极简的手绘风格、零门槛的使用体验和强大的可扩展性&#xf…

作者头像 李华
网站建设 2026/7/6 20:43:44

Excalidraw与Obsidian集成:构建个人知识图谱

Excalidraw与Obsidian集成:构建个人知识图谱 在技术人写文档的日常中,有没有过这样的瞬间——明明脑中有清晰的系统架构,可一动笔就成了“先有A服务调用B模块……再通过中间件转发……”,越写越乱?文字擅长线性叙述&am…

作者头像 李华
网站建设 2026/7/7 18:36:33

【Open-AutoGLM适配提速秘诀】:3步实现应用更新零延迟

第一章:Open-AutoGLM适配提速的核心价值在大模型应用落地过程中,推理效率直接影响用户体验与部署成本。Open-AutoGLM作为面向AutoGLM架构的开源适配框架,其核心价值在于通过模型压缩、计算图优化与硬件感知调度等手段,显著提升推理…

作者头像 李华