python学习——元组
在 Python 中,元组(tuple)是一种内置的数据类型,用于存储不可变的有序元素集合。以下是关于 Python 元组的一些关键点:
文章目录
- 定义元组
- 1. 使用圆括号 `()`
- 2. 使用 `tuple()` 函数
- 3. 使用单个元素的元组
- 4. 不使用圆括号
- 示例
- 单元素元组
- 不可变性说明
- 实操
定义元组
在 Python 中,使用 tuple() 函数创建元组的方法有以下几种:
1. 使用圆括号 ()
这是最常见和直接的方法,只需将元素放在圆括号中,并用逗号分隔。
# 创建一个空元组
empty_tuple = ()
# 创建一个包含多个元素的元组
my_tuple = (1, "hello", 3.14, True)
2. 使用 tuple() 函数
可以使用 tuple() 函数将其他序列(如列表、字符串)转换为元组。
# 从列表创建元组
list_to_tuple = tuple([1, 2, 3])
# 从字符串创建元组
string_to_tuple = tuple("hello")
3. 使用单个元素的元组
当元组中只有一个元素时,需要在元素后面加上逗号,否则 Python 会将其识别为该元素的数据类型。
# 创建一个单元素元组
single_element_tuple = (42,)
4. 不使用圆括号
虽然不常见,但也可以不使用圆括号来创建元组,只需在元素后面加上逗号。
# 不使用圆括号创建元组
no_parentheses_tuple = 1,
示例
以下是使用 tuple() 函数创建元组的一些示例:
# 创建空元组
empty = tuple()
# 从已有元组创建新元组
duplicate = tuple(my_tuple)
# 从其他数据类型创建元组
from_list = tuple([1, 2, 3])
from_string = tuple("tuple")
# 创建单元素元组
single = tuple([42]) # 注意:这里使用了列表作为参数
在大多数情况下,使用圆括号 () 就足以创建元组,而 tuple() 函数通常用于将其他数据类型转换为元组。
### 特点
1. **不可变性**:一旦元组被创建,其内容不能被修改。这意味着你不能添加、删除或更改元组中的元素。2. **有序性**:元组中的元素是有序的,每个元素都有一个索引,从 0 开始。
3. **可迭代性**:元组是可迭代的,你可以使用 for 循环遍历元组中的元素。
4. **可嵌套性**:元组可以包含其他元组作为元素,形成多维结构。
5. **可以作为字典的键**:由于元组是不可变的,它们可以作为字典的键,而列表则不可以。
### 常用操作
- **索引访问**:使用索引来访问元组中的元素。```pythonprint(my_tuple[0]) # 输出: 1
- 切片操作:使用切片来获取元组的一部分。
print(my_tuple[1:3]) # 输出: ('hello', 3.14) - 拼接:使用
+操作符来拼接两个元组。another_tuple = (5, 6) combined_tuple = my_tuple + another_tuple - 成员检查:使用
in和not in来检查元素是否存在于元组中。print(3.14 in my_tuple) # 输出: True - 重复:使用
*操作符来重复元组中的元素。repeated_tuple = my_tuple * 2 - 长度:使用
len()函数来获取元组的长度。print(len(my_tuple)) # 输出: 4
单元素元组
当元组中只有一个元素时,需要在元素后面加上逗号,否则 Python 不会将其识别为元组。
single_element_tuple = (42,)
print(type(single_element_tuple)) # 输出: <class 'tuple'>
不可变性说明
虽然元组本身是不可变的,但元组中的元素如果本身是可变对象(如列表),那么这些对象的内容是可以被修改的。
mutable_tuple = ([1, 2], [3, 4])
mutable_tuple[0][0] = 100
print(mutable_tuple) # 输出: ([100, 2], [3, 4])
在这个例子中,虽然我们修改了元组中的一个列表元素,但元组本身的结构(即其包含的元素)并没有改变。
元组在 Python 中是一种非常有用的数据类型,特别是当你需要确保数据不会被意外修改时。
实操
# 使用小括号创建元组
t = ('hello', [10, 20, 30], 'python', 'world')
print(t)# 使用内置函数创建元组
t = tuple('hello wolrd') # 字符中每一个字符都作为元组中的元素
print(t)t = tuple([10, 20, 30, 40]) # 列表中每一个元组都作为元组中的元素
print(t)print('10在元组中是否存在:', (10 in t))
print('10在元组是不存在的:', (10 not in t))
print('最大值:', max(t))
print('最小值:', min(t))
print('len:', len(t))
print('t.index:', t.index(10))
print('t.count:', t.count(10))# 如果元组只有一个元素,逗号不能省
y = (10, )
print(y)# 元组删除
del t相关文章:
python学习——元组
在 Python 中,元组(tuple)是一种内置的数据类型,用于存储不可变的有序元素集合。以下是关于 Python 元组的一些关键点: 文章目录 定义元组1. 使用圆括号 ()2. 使用 tuple() 函数3. 使用单个元素的元组4. 不使用圆括号…...
apache实现绑定多个虚拟主机访问服务
1个网卡绑定多个ip的命令 ip address add 192.168.45.140/24 dev ens33 ip address add 192.168.45.141/24 dev ens33 在linux服务器上,添加多个站点资料,递归创建三个文件目录 分别在三个文件夹下,建立测试页面 修改apache的配置文件http.…...
无需插件,如何以二维码网址直抵3D互动新世界?
随着Web技术的飞速发展,一个无需额外插件,仅凭二维码或网址即可直接访问的三维互动时代已经悄然来临。这一变革,得益于WebGL技术与先进web3D引擎的完美融合,它们共同构建了51建模网这样一个既便捷又高效的在线三维互动平台&#x…...
系统思考—感恩自己
生命中,真正值得我们铭记与感恩的,不是路途上的苦楚与风雨,而是那个在风雨中依然清醒、勇敢前行的自己,和那些一路同行、相互扶持的伙伴们。 感恩自己,感恩每一个与我们携手并进的人,也期待更多志同道合的…...
Java多线程详解①①(全程干货!!!) 实现简单的线程池 || 定时器 || 简单实现定时器 || 时间轮实现定时器
这里是Themberfue 上一节讲了 线程池 线程池中的拒绝策略 等相关内容 实现简单的线程池 一个线程池最核心的方法就是 submit,通过 submit 提交 Runnable 任务来通知线程池来执行 Runnable 任务 我们简单实现一个特定线程数量的线程池,这些线程应该在…...
DAMODEL丹摩|部署FLUX.1+ComfyUI实战教程
本文仅做测评体验,非广告。 文章目录 1. FLUX.1简介2. 实战2. 1 创建资源2. 1 ComfyUI的部署操作2. 3 部署FLUX.1 3. 测试5. 释放资源4. 结语 1. FLUX.1简介 FLUX.1是由黑森林实验室(Black Forest Labs)开发的开源AI图像生成模型。它拥有12…...
请求(request)
目录 前言 request概述 request的使用 获取前端传递的数据 实例 请求转发 特点 语法 实例 实例1 实例2 【关联实例1】 域对象 组成 作用范围: 生命周期: 使用场景: 使用步骤 存储数据对象 获得数据对象 移除域中的键值…...
关于VNC连接时自动断联的问题
在服务器端打开VNC Server的选项设置对话框,点左边的“Expert”(专家),然后找到“IdleTimeout”,将数值设置为0,点OK关闭对话框。搞定。 注意,服务端有两个vnc服务,这俩都要设置ide timeout为0才行 附件是v…...
C语言strtok()函数用法详解!
strtok 是 C 标准库中的字符串分割函数,用于将一个字符串拆分成多个部分(token),以某些字符(称为分隔符)为界限。 函数原型 char *strtok(char *str, const char *delim);参数: str:…...
【docker 拉取镜像超时问题】
问题描述 在centosStream8上安装docker,使用命令sudo docker run hello-world 后出现以下错误: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Ti…...
模拟手机办卡项目(移动大厅)--结合面向对象、JDBC、MYSQL、dao层模式,使用JAVA控制台实现
目录 1. 项目需求 2. 项目使用的技术 3.项目需求分析 3.1 实体类和接口 4.项目结构 5.业务实现 5.1 登录 5.1.1 实现步骤 5.1.2 原生代码问题 编辑 5.1.3 解决方法 1.说明: 2. ResultSetHandler结果集处理 5.1.4 代码 5.1.5 实现后的效果图 登录成功…...
机器学习—大语言模型:推动AI新时代的引擎
云边有个稻草人-CSDN博客 目录 引言 一、大语言模型的基本原理 1. 什么是大语言模型? 2. Transformer 架构 3. 模型训练 二、大语言模型的应用场景 1. 文本生成 2. 问答系统 3. 编码助手 4. 多语言翻译 三、大语言模型的最新进展 1. GPT-4 2. 开源模型 …...
C++:探索哈希表秘密之哈希桶实现哈希
文章目录 前言一、链地址法概念二、哈希表扩容三、哈希桶插入逻辑四、析构函数五、删除逻辑六、查找七、链地址法代码实现总结 前言 前面我们用开放定址法代码实现了哈希表: C:揭秘哈希:提升查找效率的终极技巧_1 对于开放定址法来说&#…...
具身智能高校实训解决方案——从AI大模型+机器人到通用具身智能
一、 行业背景 在具身智能的发展历程中,AI 大模型的出现成为了关键的推动力量。这些大模型具有海量的参数和强大的语言理解、知识表示能力,能够为机器人的行为决策提供更丰富的信息和更智能的指导。然而,单纯的大模型在面对复杂多变的现实…...
【消息序列】详解(8):探秘物联网中设备广播服务
目录 一、概述 1.1. 定义与特点 1.2. 工作原理 1.3. 应用场景 1.4. 技术优势 二、截断寻呼(Truncated Page)流程 2.1. 截断寻呼的流程 2.2. 示例代码 2.3. 注意事项 三、无连接外围广播过程 3.1. 设备 A 启动无连接外围设备广播 3.2. 示例代…...
【RL Base】强化学习核心算法:深度Q网络(DQN)算法
📢本篇文章是博主强化学习(RL)领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅…...
深入浅出 Python 网络爬虫:从零开始构建你的数据采集工具
在大数据时代,网络爬虫作为一种数据采集技术,已经成为开发者和数据分析师不可或缺的工具。Python 凭借其强大的生态和简单易用的语言特点,在爬虫领域大放异彩。本文将带你从零开始,逐步构建一个 Python 网络爬虫,解决实…...
美国发布《联邦风险和授权管理计划 (FedRAMP) 路线图 (2024-2025)》
文章目录 前言一、战略目标实施背景2010年12月,《改革联邦信息技术管理的25点实施计划》2011年2月,《联邦云计算战略》2011年12月,《关于“云计算环境中的信息系统安全授权”的首席信息官备忘录》2022年12月,《FedRAMP 授权法案》…...
Python语法基础(三)
🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 我们这篇文章来说一下函数的返回值和匿名函数 函数的返回值 我们先来看下面的这一段函数的定义代码 # 1、返回值的意义 def func1():print(111111111------start)num166print…...
云计算之elastaicsearch logstach kibana面试题
1.ELK是什么? ELK 其实并不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写 Elasticsearch:负责日志检索和储存 Logstash:负责日志的收集和分析、处理 Kibana:负责日志的可视化 这三款软件都是开源软件,通常是配合使用,而且又先后归于 Elastic.co 公司名下,…...
OpenClaw自动化测试:百川2-13B驱动浏览器完成表单填写
OpenClaw自动化测试:百川2-13B驱动浏览器完成表单填写 1. 为什么选择OpenClaw做表单测试 去年我接手了一个需要频繁测试的Web项目,每次版本更新都要手动填写几十个表单字段。这种重复劳动不仅耗时,还容易因疲劳导致测试遗漏。当我发现OpenC…...
用74LS175D和面包板,手把手教你做一个四人抢答器(附完整电路图)
从零搭建四人抢答器:74LS175D芯片实战指南 在电子技术学习过程中,没有什么比亲手搭建一个实际可用的电路更能加深理解了。今天,我们将使用经典的74LS175D芯片,配合面包板、LED和按键开关,一步步构建一个功能完整的四人…...
从电网到实验室——10kW大功率电源的Psim仿真实战
基于Psim的Boost型 PFC移相全桥AC-DC电源设计仿真 1、前级电网输入220AC,50Hz,中间级母线电压为600V,后级600V输入,547V输出,电压可调,功率10kW 2、前级基于Boost电路PFC,平均电流控制ÿ…...
别再瞎找了!盘点2026年顶流之选的AI论文写作软件
一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂的AI论文写作软件来了,实测提速效果惊人,覆盖选题、撰写、查重、排版全流程,让你高效搞定论文不再难。 一、全流程王者:一站式搞定论文全链路(一天定稿首选&am…...
OpenClaw成本优化方案:自建Qwen3-VL:30B替代高价多模态API
OpenClaw成本优化方案:自建Qwen3-VL:30B替代高价多模态API 1. 为什么需要关注OpenClaw的成本问题 第一次用OpenClaw完成多模态任务时,我被账单吓了一跳。当时需要处理200张产品图片的分类和描述生成,调用某商业多模态API后,费用…...
OpenClaw隐私保护实践:GLM-4.7-Flash本地处理敏感数据
OpenClaw隐私保护实践:GLM-4.7-Flash本地处理敏感数据 1. 为什么选择本地化方案处理敏感数据 去年我在处理一批客户合同时遇到了一个棘手问题——合同中包含大量身份证号、银行账号等敏感信息,而团队当时使用的云端AI解析服务需要上传完整文件。虽然服…...
Linux性能调优实战:CPU与内存优化指南
Linux 性能调优实战指南1. 性能优化基础概念1.1 性能指标Linux性能优化的两个核心指标是吞吐量和延迟。从应用负载角度看,直接影响终端用户体验;从系统资源角度看,关注资源使用率和饱和度。性能问题的本质是系统资源已达瓶颈但请求处理不够快…...
【限时开放】Mojo-Python互操作安全边界图谱(2024 Q3最新CVE影响评估+3类高危反模式代码扫描规则),错过将无法适配Mojo v1.2+运行时
第一章:Mojo-Python互操作安全边界图谱概览Mojo 作为面向 AI 原生开发的系统级编程语言,其与 Python 的互操作并非简单语法兼容,而是在运行时、内存模型、类型系统与异常传播四个维度上构建了显式、可审计的安全边界。这些边界共同构成一张动…...
OpenClaw浏览器自动化:nanobot镜像实现定时抢购与价格监控
OpenClaw浏览器自动化:nanobot镜像实现定时抢购与价格监控 1. 为什么选择OpenClaw实现浏览器自动化 去年双十一期间,我为了抢购某款显卡,连续三天凌晨守着电脑刷新页面,结果还是错过了补货。这种经历让我开始寻找自动化解决方案…...
用Python代码和蒙特卡洛方法,手把手教你估算强化学习中的状态价值(附完整代码)
用Python实现蒙特卡洛方法估算强化学习状态价值的实战指南 马尔可夫决策过程(MDP)是强化学习的数学基础框架,而状态价值函数则是评估策略优劣的核心指标。许多初学者在理解抽象的状态价值概念时会遇到困难——这些数字究竟是如何从实际交互中…...
