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

Python 操作列表(元组)

在本章中,你将学习如何遍历 整个列表,这只需要几行代码,无论列表有多长。循环让你能
够对列表的每个元素都采取一个或一系列相同的措施,从而高效地处理任何长度的列表,包括包含数千乃至数百万个元素的列表。

元组

列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对处理网站的用户列表或游戏中的角色列表至关重要。然而,有时候你需要创建一系列不可修改的元素,元组可以满足这种需求。Python将不能修改的值称为不可变的 ,而不可变的列表被称为元组

定义元组

元组看起来犹如列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。
例如,如果有一个大小不应改变的矩形,可将其长度和宽度存储在一个元组中,从而确保它们是不能修改的:

❶ dimensions = (200, 50)
❷ print(dimensions[0])
print(dimensions[1])

我们首先定义了元组dimensions (见❶),为此我们使用了圆括号而不是方括号。接下来,我们分别打印该元组的各个元素,使用的语法与访问列表元素时使用的语法相同(见❷):

200
50

下面来尝试修改元组dimensions 中的一个元素,看看结果如何:

dimensions = (200, 50)
❶ dimensions[0] = 250

❶处的代码试图修改第一个元素的值,导致Python返回类型错误消息。由于试图修改元组的操作是被禁止的,因此Python指出不能给元组的元素赋值:

Traceback (most recent call last):
File "dimensions.py", line 3, in <module>
dimensions[0] = 250
TypeError: 'tuple' object does not support item assignment

代码试图修改矩形的尺寸时,Python报告错误,这很好,因为这正是我们希望的。

遍历元组中的所有值

像列表一样,也可以使用for 循环来遍历元组中的所有值:

dimensions = (200, 50)
for dimension in dimensions:
print(dimension)

就像遍历列表时一样,Python返回元组中所有的元素,:

200
50

修改元组变量

虽然不能修改元组的元素,但可以给存储元组的变量赋值。因此,如果要修改前述矩形的尺寸,可重新定义整个元组:

❶ dimensions = (200, 50)
print("Original dimensions:")
for dimension in dimensions:
print(dimension)
❷ dimensions = (400, 100)
❸ print("\nModified dimensions:")
for dimension in dimensions:
print(dimension)

我们首先定义了一个元组,并将其存储的尺寸打印了出来(见❶);接下来,将一个新元组存储到变量dimensions 中(见❷);然后,打印新的尺寸(见❸)。这次,Python
不会报告任何错误,因为给元组变量赋值是合法的:

Original dimensions:
50
Modified dimensions:
400
100

相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都不变,可使用元组。


http://www.kler.cn/a/533310.html

相关文章:

  • Hackmyvm Blackhat
  • 数科OFD证照生成原理剖析与平替方案实现
  • 算法日记11:SC63(离散化)
  • 10.8 LangChain Output Parsers终极指南:从JSON解析到流式处理的规范化输出实践
  • STM32F103ZET6完整技术点(持续更新~)
  • 【LeetCode 刷题】回溯算法(4)-排列问题
  • C++ Primer 表达式基础
  • 用 Node.js 实现一个上传图片接口
  • modbus协议处理
  • 深度整理总结MySQL——Join的工作原理
  • 机器学习常用包numpy篇(四)函数运算
  • [创业之路-281]:在其位谋其职,企业不同角色,关心不同的问题。企业高层的书单、企业中层的书单、一线员工的书单
  • YK人工智能(六)——万字长文学会基于Torch模型网络可视化
  • Node.js:其实后端没那么难?
  • Spring AI 智能体通过 MCP 集成本地文件数据
  • 陷入闭包:理解 React 状态管理中的怪癖
  • JAVA:Spring Boot 集成 Disruptor 的技术指南
  • 深入理解指针(5)
  • 双系统共用一个蓝牙鼠标
  • 【Leetcode 每日一题 - 补卡】922. 按奇偶排序数组 II
  • OSCP - Other Machines - Blogger
  • 【华为OD机试python】日志采集系统【 E卷 | 2023 Q1 |100分】
  • RabbitMQ中的@Header
  • Maven 依赖管理基础
  • 网络命令
  • Java并发编程面试题:ThreadLocal(8题)