06_Python数据类型_元组

Python的基础数据类型
- 数值类型:整数、浮点数、复数、布尔
- 字符串
- 容器类型:列表、元祖、字典、集合
元组
- 元组(Tuple)是一种不可变的序列类型,与列表类似,但有一些关键的区别。
- 本质:只读的列表(list)
定义元组
元组是由圆括号 () 包围的元素集合,元素之间用逗号分隔。元组一旦创建,其内容不能被修改。
# 创建一个空元组
empty_tuple = ()# 创建一个包含几个元素的元组
my_tuple = (1, 2, 3, 'a', 'b', 'c')
访问元组元素
与列表一样,元组中的元素是有序的,可以通过索引来访问。
# 访问第一个元素
first_element = my_tuple[0] # 结果是 1
print(first_element)
# 访问最后一个元素
last_element = my_tuple[-1] # 结果是 'c'
print(last_element)
元组切片
元组也支持切片操作。
# 获取从索引1到索引3(不包括索引3)的元素
sub_tuple = my_tuple[1:4] # 结果是 (2, 3, 'a')
print(sub_tuple)
元组不可变性
元组是不可变的,这意味着你不能修改元组中的元素。
# 尝试修改元组中的元素会导致TypeError
# my_tuple[0] = 'one' # 这行代码会抛出错误
元组与列表的转换
可以使用 tuple() 函数将列表转换为元组,使用 list() 函数将元组转换为列表。
# 将列表转换为元组
my_list = [1, 2, 3]
my_tuple = tuple(my_list)
print(my_tuple)
# 将元组转换为列表
my_list_again = list(my_tuple)
print(my_list_again)
元组的优势
尽管元组是不可变的,但它们在以下情况下非常有用:
- 当你需要确保数据不会被意外修改时。
- 当你需要一个不可变的序列作为字典的键时。
- 当你从函数返回多个值时。
元组运算符
元组支持以下运算符:
- 索引运算符 []
- 切片运算符 [:]
- 成员运算符 in 和 not in
- 身份运算符 is 和 is not
元组与浅拷贝、深拷贝
由于元组是不可变的,通常不需要对元组进行浅拷贝或深拷贝。当你尝试对元组进行浅拷贝或深拷贝时,实际上会返回元组本身,因为它的内容无法改变。
import copy# 浅拷贝和深拷贝元组
my_tuple = (1, 2, 3)
shallow_copied_tuple = copy.copy(my_tuple) # 返回元组本身
deep_copied_tuple = copy.deepcopy(my_tuple) # 也返回元组本身
# 在这里,shallow_copied_tuple 和 deep_copied_tuple 都是 my_tuple 的引用,因为元组不可变,所以没有必要创建副本。
print(id(shallow_copied_tuple))
print(id(deep_copied_tuple))
附件
本文对应的jupyter notebook源码链接,欢迎下载练习:https://download.csdn.net/download/fx_yzjy101/89757860
如有问题请留言。
相关文章:
06_Python数据类型_元组
Python的基础数据类型 数值类型:整数、浮点数、复数、布尔字符串容器类型:列表、元祖、字典、集合 元组 元组(Tuple)是一种不可变的序列类型,与列表类似,但有一些关键的区别。本质:只读的列表…...
【Vue】- ref获取DOM元素和购物车案例分析
文章目录 知识回顾前言源码分析1. ref2. 购物车案例分析3. 购物车计算、全选 拓展知识数据持久化localStorage 总结 知识回顾 前言 元素上使用 ref属性关联响应式数据,获取DOM元素 步骤 ● 创建 ref > const hRef ref(null) ● 模板中建立关联 > <h1 re…...
【AI大模型】ChatGPT模型原理介绍(下)
目录 🍔 GPT-3介绍 1.1 GPT-3模型架构 1.2 GPT-3训练核心思想 1.3 GPT-3数据集 1.4 GPT-3模型的特点 1.5 GPT-3模型总结 🍔 ChatGPT介绍 2.1 ChatGPT原理 2.2 什么是强化学习 2.3 ChatGPT强化学习步骤 2.4 监督调优模型 2.5 训练奖励模型 2.…...
Python数据分析与可视化实战指南
在数据驱动的时代,Python因其简洁的语法、强大的库生态系统以及活跃的社区,成为了数据分析与可视化的首选语言。本文将通过一个详细的案例,带领大家学习如何使用Python进行数据分析,并通过可视化来直观呈现分析结果。 一、环境准…...
react18基础教程系列-- 框架基础理论知识mvc/jsx/createRoot
react的设计模式 React 是 mvc 体系,vue 是 mvvm 体系 mvc: model(数据)-view(视图)-controller(控制器) 我们需要按照专业的语法去构建 app 页面,react 使用的是 jsx 语法构建数据层,需要动态处理的的数据都要数据层支持控制层: 当我们需要…...
牛客周赛 Round 60 折返跑(组合数学)
题目链接:题目 大意: 在 1 1 1到 n n n之间往返跑m趟,推 m − 1 m-1 m−1次杆子,每次都向中间推,不能推零次,问有多少种推法(mod 1e97)。 思路: 一个高中学过的组合数…...
深入浅出Java匿名内部类:用法详解与实例演示
匿名内部类(Anonymous Inner Class)在Java中是一种非常有用的特性,它允许你在一个类的定义中直接创建并实例化一个内部类,而不需要为这个内部类指定一个名字。匿名内部类通常用于以下几种情况: 实现接口:当…...
数据库MySQL、Mariadb、PostgreSQL、MangoDB、Memcached和Redis详细介绍
以下是一些常见的后端开发数据库选型: 关系型数据库(RDBMS):关系型数据库是最常见的数据库类型,使用表格和关系模型来存储和管理数据。常见的关系型数据库包括MySQL、PostgreSQL和Oracle等。这些数据库适合处理结构化数…...
【ArcGIS Pro实操第七期】栅格数据合并、裁剪及统计:以全球不透水面积为例
【ArcGIS Pro实操第七期】批量裁剪:以全球不透水面积为例 准备:数据下载ArcGIS Pro批量裁剪数据集1 数据拼接2 数据裁剪3 数据统计:各栅格取值3.1 栅格计算器-精确提取-栅格数据特定值3.2 数据统计 4 不透水面积变化分析 参考 准备࿱…...
【Linux】Image、zImage与uImage的区别
1、Image 1.1 什么是 Image Image 是一种未压缩的 Linux 内核镜像文件,包含了内核的所有代码、数据和必要的元信息。它是 Linux 内核在编译过程中生成的一个原始的二进制文件,未经过任何压缩或额外的封装处理。由于未压缩,Image 文件相对较…...
算子加速(3):自定义cuda扩展
需要自定义某个层,或有时候用c++实现你的操作(c++扩展)可能会更好: 例如:需要实现一个新型的激活函数例如: bevfusion用cuda实现bevpool加速自定义扩展的步骤 (1) 首先用纯pytorch和python 实现我们所需的功能,看看效果再决定要不要进一步优化(2) 明确优化方向,用C++ (或CU…...
信息安全数学基础(14)欧拉函数
前言 在信息安全数学基础中,欧拉函数(Eulers Totient Function)是一个非常重要的概念,它与模运算、剩余类、简化剩余系以及密码学中的许多应用紧密相关。欧拉函数用符号 φ(n) 表示,其中 n 是一个正整数。 一、定义 欧…...
7-17 汉诺塔的非递归实现
输入样例: 3输出样例: a -> c a -> b c -> b a -> c b -> a b -> c a -> c 分析: 不会汉罗塔的uu们,先看看图解: 非递归代码: #include<iostream> #include<stack> using namespace std; s…...
word文档无损原样转pdf在windows平台使用python调用win32com使用pip安装pywin32
前提: windows环境下,并且安装了office套装,比如word,如果需要调用excel.也需要安装。在另外的文章会介绍。这种是直接调用word的。所以还原度会比较高。 需求: word文档转pdf,要求使用命令行形式,最终发布为api接口…...
海康威视相机在QTcreate上的使用教程
文章目录 前言:基础夯实:效果展示:图片展示:视频展示: 参考的资料:遇到问题:问题1:int64 does not问题2:LNK2019配置思路(这个很重要)配置关键图片:配置具体过…...
进程状态、进程创建和进程分类
文章目录 进程进程常见的状态进程调度进程状态变化关系 进程标识示例--进程标识的使用以及简介 进程创建fork函数vfork函数示例--使用fork函数创建子进程,并了解进程之间的关系 创建进程时发生的变化虚拟内存空间的变化示例--验证fork函数创建进程时的操作 对文件IO…...
java后端请求调用三方接口
java后端请求调用三方接口 /*** param serverURL http接口地址(例:http://www.iwsu.top:8016/dataSyn/bay/statsCar)* param parm 参数(可以是json,也可以是json数组)*/ public void doRestfulPostBody(St…...
C#使用TCP-S7协议读写西门子PLC(三)
接上篇 C#使用TCP-S7协议读写西门子PLC(二)-CSDN博客 这里我们进行封装读写西门子PLC的S7协议命令以及连接西门子PLC并两次握手 新建部分类文件SiemensS7ProtocolUtil.ReadWrite.cs 主要方法: 连接西门子PLC并发送两次握手。两次握手成功后,才真正连…...
铝型材及其常用紧固件、连接件介绍
铝型材介绍(包括紧固件和连接件以及走线) 铝型材 铝型材一般是6063铝合金挤压成型,分为欧标和国标两个标准。(左边国标,右边欧标,欧标槽宽一点) 由于槽型不一样,相关的螺栓和螺母也…...
【裸机装机系列】7.kali(ubuntu)-安装开发所需工具
如果你是后端或是人工智能AI岗,可以安装以下推荐的软件: 1> sublime sublime官网 下载deb文件 安装命令 sudo dpkg -i sublime-text_build-4143_amd64.deb2> vscode 安装前置软件 sudo apt install curl gpg software-properties-common apt-t…...
终极罗技鼠标宏压枪指南:告别PUBG后坐力困扰的3个秘诀
终极罗技鼠标宏压枪指南:告别PUBG后坐力困扰的3个秘诀 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 还在为绝地求生中的武器后坐力…...
黑丝空姐-造相Z-Turbo构建AI编程助手:自动生成前端组件配图
黑丝空姐-造相Z-Turbo构建AI编程助手:自动生成前端组件配图 想象一下这个场景:你正在为一个航空公司的内部管理系统编写前端代码,需要创建一个“机组人员资料卡”组件。你已经写好了HTML结构和CSS样式,但卡在了头像占位符上——是…...
Intv_AI_MK11 处理时序数据:LSTM 思想在对话状态跟踪中的应用
Intv_AI_MK11 处理时序数据:LSTM 思想在对话状态跟踪中的应用 1. 引言:对话状态跟踪的挑战 在多轮对话系统中,准确跟踪对话状态是核心挑战之一。传统方法往往难以有效捕捉对话历史中的长期依赖关系,导致系统在复杂对话场景中容易…...
C++ 智能指针的生命周期分析
C智能指针的生命周期分析 在现代C开发中,智能指针是管理动态内存的重要工具,它通过自动化的资源管理机制显著降低了内存泄漏和悬垂指针的风险。理解智能指针的生命周期对于编写高效、安全的代码至关重要。本文将深入分析智能指针的生命周期,…...
别只盯着代码了!用Multisim仿真带你理解74LS90和555的‘数字心脏’
用Multisim仿真揭秘数字电路:从555脉冲到74LS90计数的实战之旅 当你第一次看到数字电路时,是否觉得那些密密麻麻的芯片引脚和抽象的逻辑符号令人望而生畏?作为一名软件开发者,我曾经也有同样的困惑——直到发现Multisim这个神奇的…...
SystemVerilog约束(constraint)里的“坑”与“宝”:从dist权重到solve...before的实战避坑指南
SystemVerilog约束设计中的精妙陷阱与高阶技巧:从概率调控到验证效能提升 在芯片验证领域,SystemVerilog的约束随机验证(CRV)就像一把双刃剑——用得巧妙可以大幅提升验证效率,但若忽视约束系统的精微特性,反而会引入难以察觉的验…...
【数据结构与算法】第28篇:平衡二叉树(AVL树)
一、AVL树的定义1.1 平衡因子平衡因子 左子树高度 - 右子树高度AVL树要求所有节点的平衡因子只能是 -1、0、1。text节点高度:从该节点到最远叶子节点的边数 空树高度:-1 或 0(不同定义,本文用-1)1.2 为什么需要平衡普…...
MCP4151数字电位器Arduino驱动与三线SPI时序详解
1. MCP4151 数字电位器 Arduino 库深度技术解析1.1 器件本质与工程定位MCP4151 是 Microchip 推出的单通道、10kΩ 标称阻值、257 抽头(0–256)非易失性数字电位器。其核心价值不在于替代模拟电位器进行手动调节,而在于为嵌入式系统提供可编程…...
OpenClaw备份方案:Qwen3-4B-Thinking自动化数据归档系统
OpenClaw备份方案:Qwen3-4B-Thinking自动化数据归档系统 1. 为什么需要自动化备份系统 作为一个长期与代码和数据打交道的开发者,我经历过太多次"数据灾难"——硬盘突然损坏导致项目丢失,误删重要文件后无法恢复,甚至…...
光刻胶选型避坑指南:从正胶负胶到配套试剂的全流程解析
光刻胶选型避坑指南:从正胶负胶到配套试剂的全流程解析 在半导体制造领域,光刻工艺的质量直接决定了芯片的性能和良率。而光刻胶作为光刻工艺的核心材料,其选型往往成为工艺工程师最头疼的问题之一。我曾亲眼见过一个团队因为选错光刻胶类型&…...
