Python——— 元组

news2024/11/24 17:33:23

(一)初识元组tuple

Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。列表属于可变序列,可以任意修改列表中的元素。元组属于不可变序列,不能修改元组中的元素。

       因此,元组没有增加元素、修改元素、删除元素相关的方法。 我们只需学元组的创建和删除,元素的访问和计数即可。元组支持如下操作:

(二)元组的创建

        通过()创建元组。

小括号可以省略。a = (10,20,30) 或者 a = 10,20,30

        如果元组只有一个元素,则必须后面加逗号。这是因为解释 器会把(1) 解释为整数 1 (1,) 解释为元组。 如 a = 10,表示元组,而a=10,表示整数10。
 具体代码:
a = (10)
print(type(a))#<class 'int'>
a = (10,)    #或者 a = 1,
print(type(a))#<class 'tuple'>
 

  通过tuple()创建元组 tuple(可迭代的对象)

a = tuple() #创建一个空元组对象
b = tuple("abc")
c = tuple(range(3))
d = tuple([2,3,4])
总结:
  • tuple()可以接收列表、字符串、其他序列类型、迭代器等生成元组。 

  •   list()可以接收元组、字符串、其他序列类型、迭代器等生成列表。

(三)元组的元素访问和计数

元组的元素不能修改

 

元组的元素访问、index()count()、切片等操作,和列表一样。

a = (20,10,30,9,8)
print(a[1])#10
print(a[1:3])#(10, 30)
print(a[:4])#(20, 10, 30, 9)
    列表关于排序的方法 list.sorted() 是修改原列表对象,元组没有该方法。如果要对元组排序,只能使用内置函数 sorted(tupleObj),并生成新的列表对象。
 
a = (20,10,30,9,8)
b = sorted(a)   #b是新对象,内容是:[8, 9,10, 20, 30]
zip
       zip( 列表 1 ,列表 2 ...) 将多个列表对应位置的元素组合成为元组, 并返回这个zip 对象。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。
a = [10,20,30]
b = [40,50,60]
c = [70,80,90,100]
d = zip(a,b,c)
print(d)   #zip object
e = list(d) #列表:[(10, 40, 70), (20, 50,80), (30, 60, 90)]
print(e)
生成器推导式创建元组
          从形式上看,生成器推导式与列表推导式类似,只是生成器推导式使用小括号。
     
         列表推导式直接生成列表对象,生成器推导式生成的不是列表也不是元组,而是一个生成器对象。
        我们可以通过生成器对象,转化成列表或者元组。也可以使用生成器对象的 __next__() 方法进行遍 历,或者直接作为迭代器对象来使用。不管什么方式使用,元素访问结束后,如果需要重新访问其中的元素,必须重新创建该生成器对象。
    生成器的使用测试
#列表推导式: [0, 2, 4, 6, 8]
#a = [x*2 for x in range(5)]
#print(a)
s = (x*2 for x in range(5))
print(s)   #<generator object <genexpr> at0x0000021C80BE2880>
b = tuple(s)
print(b)  #(0, 2, 4, 6, 8)
c = tuple(s)
print(c)  #()
s2 = (x for x in range(3))
print(s2.__next__())  #0
print(s2.__next__()) #1
print(s2.__next__())  #2
#print(s2.__next__())  #报错:
StopIteration

(四)修改元组

元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,具体代码如下:

tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
 
# 以下修改元组元素操作是非法的。
# tup1[0] = 100
 
# 创建一个新的元组
tup3 = tup1 + tup2
print tup3

(五) 无关闭分隔符

任意无符号的对象,以逗号隔开,默认为元组,如下实例:

 

(六)元组运算符

与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

Python 表达式结果描述
len((1, 2, 3))3计算元素个数
(1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)连接
('Hi!',) * 4('Hi!', 'Hi!', 'Hi!', 'Hi!')复制
3 in (1, 2, 3)True元素是否存在
for x in (1, 2, 3): print x,1 2 3迭代

(七)元组内置函数

Python元组包含了以下内置函数

 方法及描述
cmp(tuple1,tuple2)比较两个元组元素。
len(tuple)计算元组元素个数。
max(tuple)返回元组中元素最大值。
min(tuple)返回元组中元素最小值。
tuple()tuple(seq)
将列表转换为元组。
元组的核心特点是:不可变序列。
2 元组的访问和处理速度比列表快。
3 与整数和字符串一样,元组可以作为字典的键,列表则永远不能作为字典的键使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/719324.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你的隐私被泄漏了吗

近日&#xff0c;某高校毕业生在校期间窃取学校内网数据&#xff0c;收集全校学生个人隐私信息的新闻引发了人们对互联网生活中个人信息安全问题的再度关注。在大数据时代&#xff0c;算法分发带来了隐私侵犯&#xff0c;在享受消费生活等便捷权利的同时&#xff0c;似乎又有不…

【Web3】认识元宇宙

元宇宙在Web3中扮演着重要的角色&#xff0c;可以带来许多创新和变革。Web3是下一代互联网的概念&#xff0c;强调去中心化、区块链技术和加密货币的应用。 元宇宙在Web3中的几个作用&#xff1a; 去中心化的虚拟世界&#xff1a;元宇宙通过使用区块链技术和去中心化的网络结构…

基于单片机的智能窗帘智能晾衣架系统的设计与实现

功能介绍 以STM32单片机单片机作为主控系统&#xff1b;OLED液晶显示当前环境温湿度&#xff0c;光照强度&#xff0c;时间&#xff0c;开关状态等信息&#xff1b;雨滴传感器检测当前环境是否下雨&#xff0c;天气下雨检测&#xff0c;天气潮湿时自动收衣服&#xff1b;可以通…

简要介绍 | 大规模三维场景理解:从点云到智能导航

注1&#xff1a;本文系“简要介绍”系列之一&#xff0c;仅从概念上对大规模三维场景理解进行非常简要的介绍&#xff0c;不适合用于深入和详细的了解。 大规模三维场景理解&#xff1a;从点云到智能导航 InteriorNet: Mega-scale Multi-sensor Photo-realistic Indoor Scenes …

【软考程序员学习笔记】——软件工程

目录 &#x1f34a;一、软件存周期 &#x1f34a;二、软件生存周期模型 &#x1f34a;三、软件开发方法 &#x1f34a;四、需求分析 &#x1f34a;五、内聚和耦合 &#x1f349;模块内的独立性--内聚性 &#x1f349;模块间的独立性--耦合性 &#x1f34a;六、软件测试 …

提交软著的源码格式是怎么样的?软著源码规范器V1.0直接一键生成规范的源码文档

小陶在自己成功申请了软著之后&#xff0c;算是了解一下流程。最主要的就是两个文件&#xff0c;分别是软件说明书和软件源码。软件说明书倒是没啥&#xff0c;可以自己写&#xff0c;跟一个报告差不多吧。软著源码则有很多细节问题。于是我就又写了一个软著源码规范器&#xf…

Windows 11 安装Git

Windows 11 安装Git步骤 前言第一步&#xff1a;从官网下载最新的Git第二步&#xff1a;运行安装程序第三步&#xff1a;选择安装位置第四步&#xff1a;安装配置界面第五步&#xff1a;选择Git默认编辑器窗口第六步&#xff1a;调整新存储库中初始分支的名称第七步&#xff1a…

微信小程序个人中心展示样式(2)

这是之前的详细的看这里 因为这是好多年前写的了&#xff0c;好多人私信我代码有问题。正好今天有时间简单的还原下代码 话不多说先看图(图片样式自己搞奥~~~~我也好久没弄了这就是个参考demo) 以下是一个使用微信小程序开发的个人中心展示详情的示例&#xff1a; 在微信开发…

并发可见性、有序性、原子性与JMM内存模型深入解析

并发三大特性 原子性 一个或多个操作&#xff0c;要么全部执行且在执行过程中不被任何因素打断&#xff0c;要么全部不执行。在 Java 中&#xff0c;对基本数据类型的变量的读取和赋值操作是原子性操作&#xff08;64位处理器&#xff09;。不采取任何的原子性保障措施的自增…

如何制作html文件(合集)

在电脑桌面或者在文件夹中点击:鼠标右键-->新建-->文本文档&#xff0c;一般新建好的文档名字叫“新建文本文档.txt”。 如果您创建的文档没有后缀名“txt”&#xff0c;请不要急&#xff0c;下面的步骤将教您如何显示“txt”后缀名。在文件资源管理器中点击&#xff1a…

0124 计算机网络体系结构

目录 1.计算机网络体系结构 1.1计算机网络概述 计算机网络的组成 计算机网络的功能 计算机网络的分类 计算机网络的性能指标 1.1部分习题 1.2计算机网络体系结构与参考模型 计算机网络分层结构 计算机网络协议、接口与服务 ISO/OSI参考模型和TCP/IP模型 OSI参考模型…

虚拟币与传统金融体系走向健康可持续发展

近年来&#xff0c;虚拟币的崛起引起了全球范围内的广泛关注。作为一种数字资产&#xff0c;虚拟币在不断突破传统金融界限的同时&#xff0c;也面临着许多挑战和争议。然而&#xff0c;随着时间的推移&#xff0c;人们开始看到虚拟币与传统金融体系逐渐融合的趋势&#xff0c;…

解决supervisor不能监控程序子进程问题

先说一下遇到的问题&#xff0c;使用的是beanstalk队列&#xff0c;有两个tube, 使用 supervisor 监控 beanstalk 消费队列&#xff08;主进程A&#xff09;&#xff0c;主进程A产生两个子进程&#xff08;子进程B&#xff0c;子进程C&#xff09;&#xff0c;每个子进程处理一…

Arcgis之Python的Arcpy的点线面对象的创建处理和通过pandas读取txt中的经纬度坐标创建几何对象

前言 本节将介绍点线面对象的创建和处理。创建点对象有三个类&#xff0c;分别是Point、Multipoint、PointGeometry&#xff0c;创建线对象的类为Polyline&#xff0c;创建面对象的类为Polygon。 一、点对象的创建——Point 点对象经常与光标配合使用。点要素将返回单个点对…

蚂蚁内容安全平台天鉴入选“北京市人工智能行业赋能典型案例”

近日&#xff0c;“2023全球数字经济大会”人工智能高峰论坛在京召开。会议发布了一批人工智能行业赋能典型案例&#xff0c;为行业提供重要的示范效应&#xff0c;以推动大模型应用加速赋能千行百业。其中&#xff0c;蚂蚁集团旗下数字藏品平台“鲸探”及内容安全平台“天鉴”…

rk3288-系统语言跟随客户luancher-②

rk3288-系统语言跟随客户luancher_旋风旋风的博客-CSDN博客rk3288-系统语言跟随客户luancherhttps://blog.csdn.net/longmin96/article/details/128265807?spm=1001.2014.3001.5501方法一: 通过修改这个给APK预制成系统软件来获取权限 方法二 客户需求是不修改成系统应用,因…

【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(7 月 4 日论文合集)

文章目录 一、检测相关(15篇)1.1 Artifacts Mapping: Multi-Modal Semantic Mapping for Object Detection and 3D Localization1.2 Shi-NeSS: Detecting Good and Stable Keypoints with a Neural Stability Score1.3 HODINet: High-Order Discrepant Interaction Network for…

10 从0开始学PyTorch | 多层神经网络、激活函数、学习能力

前面的训练过程我们已经了解的差不多了&#xff0c;但是我们所用到的模型还是一个线性模型&#xff0c;这一小节就让我们正经开始神经网络的搭建&#xff0c;研究怎么把之前的线性模型替换成神经网络来解决我们的问题。 为了更好的理解神经网络&#xff0c;这里我们把假设的关…

【新版系统架构】第八章-系统质量属性与架构评估

软考-系统架构设计师知识点提炼-系统架构设计师教程&#xff08;第2版&#xff09; 第一章-绪论第二章-计算机系统基础知识&#xff08;一&#xff09;第二章-计算机系统基础知识&#xff08;二&#xff09;第三章-信息系统基础知识第四章-信息安全技术基础知识第五章-软件工程…

(六)python实战——使用Redis库完成redis基本数据类型数据的操作案例

前言 本节内容主要介绍一下在python环境下&#xff0c;使用Redis库实现redis基本数据类型String、List、Set、Zset、Hash等数据的操作&#xff0c;通过案例的演示&#xff0c;学习python环境下&#xff0c;redis缓存数据库的基本使用和操作。 正文 ①使用pip命令安装Redis依…