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

Python将不能修改的值称为不可变的 ,而不可变的列表被称为元组------元组

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

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

以dimensions.py文件为例:

❶ 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 中(见❷);然后,打印新的尺寸(见❸)。这次,Python 不会报告任何错误,因为给元组变量赋值是合法的:

Original dimensions:
200
50
Modified dimensions:
400
100

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

http://www.dtcms.com/a/128717.html

相关文章:

  • leetcode刷题日记——螺旋矩阵
  • 运行一次性任务与定时任务
  • Python 质数筛选:从入门到优化的 5 种方法
  • RPA VS AI Agent
  • 如何解决线程安全问题(不涉及分布式情况)
  • MTCNN 人脸识别
  • 对于GAI虚假信息对舆论观察分析
  • 月之暗面开源:多模态推理模型(激活2.8B) Kimi-VL-A3B-Thinking
  • PCDN收益高低的关键因素
  • Python p_tqdm包介绍
  • 2025年土建施工员考试题库及答案
  • js中较为不错的对象内置方法
  • Cribl 通过Splunk search collector 来收集数据
  • 【时时三省】(C语言基础)选择结构程序综合举例
  • 第十五届蓝桥杯C/C++B组国赛真题讲解(分享去年比赛的一些真实感受)
  • 什么是回表?哪些数据库存在回表?
  • dcsdsds
  • ROS2:命令行学习
  • AUTOSAR图解==>AUTOSAR_SWS_MemoryMapping
  • sql server分析表大小
  • 《Python星球日记》第27天:Seaborn 可视化
  • 单片机基础知识-STM32
  • [MSPM0开发]之二MSPM0G3507之IOMUX功能概述(基于driverlib库)
  • SPORT(Serial Port)接口
  • 2.4goweb加解密和jwt
  • 物美“外贸转内销”极速绿色通道正式开启
  • ubuntu20.04 openvino的yolov8推理(nncf量化)
  • 【LINUX】学习宝典
  • spring security oauth2.0的四种模式
  • 二战蓝桥杯所感