当前位置: 首页 > 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.gsyq.cn/news/130943.html

相关文章:

  • 【Open-AutoGLM多用户协作配置】:5大核心步骤实现高效团队协同
  • Cursor锁区问题
  • 辗转相除法
  • .NET WebForm如何支持文件夹目录结构上传的断点续传?
  • 2025年广州管道疏通联系方式汇总:全市专业服务商官方联系渠道与高效合作指引 - 十大品牌推荐
  • 2025年昆明管道疏通联系方式汇总:全市专业服务机构官方联系渠道与高效服务指引 - 十大品牌推荐
  • AI生成图表新范式:Excalidraw+NLP协同工作流
  • 【Open-AutoGLM朋友圈文案生成】:揭秘AI自动生成爆款文案的底层逻辑与实战技巧
  • 2025年北京家庭搬家公司联系方式汇总: 核心城区专业服务商联系通道与一站式搬迁指南 - 十大品牌推荐
  • Excalidraw与Google Drive文件互通方案
  • 为什么90%的Open-AutoGLM部署卡在版本兼容?真相在这里
  • Open-AutoGLM消息引擎深度解析(颠覆传统客服的AI黑科技)
  • python多进程读写共享内存,使用管道进行同步通信后是否还需要使用锁机制
  • 构建以质量为核心的软件开发文化生态
  • 秩序幻觉:当技术理性遭遇系统混沌,如何保持内心的清晰
  • C#在.NET MVC中如何设计大附件上传的进度监控界面?
  • 事倍功半是蠢蛋70 命名问题
  • Excalidraw移动端体验优化策略
  • Excalidraw性能调优:大规模图形渲染优化
  • 2025年长春管道疏通联系方式汇总:全市专业服务官方联系渠道与高效合作指引 - 品牌推荐
  • 从耗时10小时到40分钟:Open-AutoGLM微调效率逆袭之路
  • Open-AutoGLM广域网访问配置全攻略(专家级实战经验曝光)
  • 【专家亲授】Open-AutoGLM迁移学习加速方案:训练时间缩短70%的实操路径
  • 跨平台AI模型部署难题全解析,Open-AutoGLM适配方案深度拆解
  • (首次公开)Open-AutoGLM多端部署适配框架设计全貌
  • Excalidraw图层管理功能进阶用法
  • 2025年度广佛双主轴定制口碑榜TOP10,收藏备用,正交Y/36排刀机/刀塔机/46排刀机/双主轴双排刀/动力刀塔双主轴采购需要多少钱 - 品牌推荐师
  • 技术文档配图新选择:Excalidraw手绘风更吸睛
  • 远程团队必备!Excalidraw实现实时协作绘图
  • Excalidraw与Figma的互补使用场景