Python——元组

一、元组特性介绍

  •         元组和列表⼀样,也是⼀种序列类型的数据。
  •         唯⼀的不同是,元组是相对不可变的。

二、⾼效创建元组

In [1]: t1 = ()    # 创建 空 元素的元组In [2]: type(t1)
Out[2]: tuple

        有元素的元组实际上是使⽤英⽂的逗号创建的

In [3]: n = (3)In [4]: n
Out[4]: 3In [5]: type(n)
Out[5]: intIn [6]: t = 3,In [7]: t
Out[7]: (3,)In [8]: type(t)
Out[8]: tuple

 

        创建⾮空元素的元组是⽤逗号 ,⽽不是⽤⼩括号 

 三、转换

        tuple() 可以对其他序列类型的数据转换为元组。

In [9]: s1 = 'car'In [10]: s1
Out[10]: 'car'In [11]: list(s1)
Out[11]: ['c', 'a', 'r']In [12]: tuple(s1)
Out[12]: ('c', 'a', 'r')In [13]: t2 = tuple(s1)In [14]: t2
Out[14]: ('c', 'a', 'r')In [15]: tuple([1,2,3])
Out[15]: (1, 2, 3)

 

四、元组的取值

        元组也是序列类型的数据,取值和切⽚和列表的操作⼀样

In [20]: t1 = (1,2,3, ['a','b'],'liang')In [21]: t1
Out[21]: (1, 2, 3, ['a', 'b'], 'liang')In [22]: t1[-1]
Out[22]: 'liang'In [23]: t1[-2]
Out[23]: ['a', 'b']In [24]: t1[-2][-1]
Out[24]: 'b'In [25]: t1[1:-1]
Out[25]: (2, 3, ['a', 'b'])In [26]: t1[3:-4]
Out[26]: ()In [27]: t1[3:4]
Out[27]: (['a', 'b'],)

 

五、元组的⽅法

        count 统计⼀个元素在元组内出现的次数

        index 返回⼀个元素在元组内的索引

In [20]: t1 = (1,2,3, ['a','b'],'liang')In [28]: t1.             # 按 Tab 键count() index()     # 可以看出没有可以改变其⾃身的⽅法In [28]: t1.count(1)
Out[28]: 1In [29]: t1.count(10)
Out[29]: 0In [30]: t1.index(1)
Out[30]: 0In [31]: t1.index(3)
Out[31]: 2

 

六、元组的相对不可变

        元组本身是不可变的,就是元组内的元素是不可变的,⼀旦创建⼀个元组,这个元组内的元素个数和数据都是固定的了 相对不可变的意思是,元组内的元素⾃身是可变的数据对象,就可以通过修改这个可变元素,来间接改变元组的样⼦。

        内置函数 id() , 这个函数可以返回python 中⼀个对象的内存地址(id 号)

In [32]: id('hello')
Out[32]: 140096984653232In [33]: t1
Out[33]: (1, 2, 3, ['a', 'b'], 'liang')In [34]: id(t1)
Out[34]: 140097075906512

        接下来就来验证元组是相对不可变的

        假设我想把上个示例中的元组 t1 中列表元素‘b’删除

In [35]: t1[-2]
Out[35]: ['a', 'b']In [36]: id(t1[-2])        # 改变前的 id
Out[36]: 140097076313776In [37]: t1[-2]
Out[37]: ['a', 'b']In [39]: t1[-2].pop()
Out[39]: 'b'In [40]: t1
Out[40]: (1, 2, 3, ['a'], 'liang')In [41]: id(t1[-2])        # 改变后的 id
Out[41]: 140097076313776

 

七、for 循环元组

In [43]: t = ('liang',1314,521)In [44]: for i in t:...:     print(i)...: 
#结果
liang
1314
521In [45]: 

 

八、元组的优点

  •         占⽤内存空间⼩
  •         元组内的值不会被意外的修改
  •         可作为字典的键
  •         函数的参数是以元组形式传递的

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

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

相关文章

【sgCreateTableColumn】自定义小工具:敏捷开发→自动化生成表格列html代码(表格列生成工具)[基于el-table-column]

源码 <template><!-- 前往https://blog.csdn.net/qq_37860634/article/details/136126479 查看使用说明 --><div :class"$options.name"><div class"sg-head">表格列生成工具</div><div class"sg-container"…

RSA加密,解密,加签及验签

目录 1.说明 2.加密和加签的区别 3.后端加密&#xff0c;解密&#xff0c;加签及验签示例 4.前端加密&#xff0c;解密&#xff0c;加签及验签示例 5.前端加密&#xff0c;后端解密&#xff0c;前端加签&#xff0c;后端验签 6.注意事项 1.说明 RSA算法是一种非对称加密…

【JavaScript】输入输出语法

目录 一、输出语法 二、输入语法 一、输出语法 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>D…

Java解决石子游戏问题

Java解决石子游戏问题 01 题目 Alice 和 Bob 用几堆石子在做游戏。一共有偶数堆石子&#xff0c;排成一行&#xff1b;每堆都有 正 整数颗石子&#xff0c;数目为 piles[i] 。 游戏以谁手中的石子最多来决出胜负。石子的 总数 是 奇数 &#xff0c;所以没有平局。 Alice 和…

Netty学习------2024/02/19

non-blocking io 非阻塞 IO 1. 三大组件 1.1 Channel & Buffer channel 有一点类似于 stream&#xff0c;它就是读写数据的双向通道&#xff0c; 可以从 channel 将数据读入 buffer&#xff0c;也可以将 buffer 的数据写入 channel&#xff0c; 而之前的 stream 要么是输…

【Linux系列】超算作业调度系统批量取消作业介绍

在使用HPC跑模型时常常需要批量取消提交的job&#xff0c;本文将三种常见的作业调度系统的批量取消作业方法进行介绍&#xff0c;方便平时使用。 一、Slurm Slurm取消/删除作业的命令为scancel&#xff0c;其基本的使用方法有&#xff1a; 命令说明scancel < jobid >删…

HCIA-HarmonyOS设备开发认证V2.0-IOT硬件子系统-I2C

目录 一、 I2C 概述二、I2C 模块相关API三、接口调用实例四、I2C HDF驱动开发4.1、开发步骤(待续...) 坚持就有收获 一、 I2C 概述 I2C&#xff08;Inter Integrated Circuit&#xff09;集成电路间总线是由 Philips 公司开发的一种简单、双向二线制同步串行总线。I2C 以主从方…

面试题:链表相交

链表相交 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 思路 这个题目有2个思路&#xff0c;我先说容易想到的思路 对齐链表…

有关光猫、路由器、交换机、网关的理解

前提 在了解计算机网络的过程中&#xff0c;出现了这四个名词&#xff1a;光猫、路由器、交换机、网络。有点模糊&#xff0c;查阅互联网相关资料&#xff0c;进行整理。如有错误&#xff0c;欢迎大家批评指正。 光猫 首先光猫是物理存在的&#xff0c;大家在家里应该都可以…

初识Nginx

摘要&#xff1a;最近几个项目中的接口总是访问受限&#xff0c;需要后端同事配置Nginx代理&#xff0c;了解下Nginx后面自己配置。 Nginx 是一款高性能的开源 Web 服务器和反向代理服务器。它具有轻量级、高并发、低内存消耗等特点&#xff0c;常被用作静态资源服务、负载…

最新Discuz! X模板文件结构详细手册

| — template — default 系统内置风格模板(默认风格) | — template — default – discuz_style_default.xml 风格安装文件&#xff0c;可用风格导出功能创建 | — template — default – preview.jpg 预览图 | — template — default – common 风格中的公共包含文…

探索与实践:深度解读禅道项目管理工具的高效运用

【引言】 在日益复杂的现代项目管理领域中&#xff0c;一款优秀的项目管理工具能够极大地提升团队协作效率&#xff0c;降低项目风险&#xff0c;而禅道正是这样一款深受开发者和项目经理喜爱的产品。它是一款基于敏捷开发理念设计的开源项目管理软件&#xff0c;涵盖了产品管…

5G网络RedCap

RedCap&#xff1a;RedCap&#xff08;Reduced Capability&#xff09;&#xff0c;即“降低能力”。它是3GPP在5G R17阶段&#xff0c;针对速率、时延要求不高的5G应用场景&#xff0c;专门推出的一种新技术标准协议&#xff0c;旨在全面提升5G网络质量和覆盖率&#xff0c;也…

H12-821_62

62.如图所示,RTA、RTB、RTC、RTD在同一个AS内,通过直连链路建立IBGP邻居关系,RTB、RTC为路由反射器,RTA与RTC为RTB的路由反射器客户端,RTB与RTD为RTC的路由反射器客户端,RTA上将10.1.1.0/24宣告进BGP中,则RTD上收到的BGP路由更新其Originator ID值为() 答案&#xff1a;1.1.1.1…

PostgreSQL教程(三):SQL语言

一、引言 本章提供了一个如何使用SQL执行简单操作的概述。本教程的目的只是给你一个介绍。有许多关于SQL的书籍&#xff0c;包括[melt93]和[date97]。你还要知道有些PostgreSQL语言特性是对标准的扩展。 在随后的例子里&#xff0c;我们假设你已经创建了名为mydb的数据库&…

第24讲投票管理实现

投票管理实现 后端&#xff1a; package com.java1234.controller;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.java1234.entity.*; import com.java1234.service.…

代码随想录算法训练营第二十二天 | LeeCode 235. 二叉搜索树的最近公共祖先,701. 二叉搜索树中的插入操作, 450. 删除二叉搜索树中的节点

题目链接&#xff1a;235. 二叉搜索树的最近公共祖先 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:TreeNode *lowestCommonAncestor(TreeNode *root, TreeNode *p, TreeNode *q){if(rootnullptr||rootp||rootq) return root;TreeNode *leftlowestCommonA…

数据结构之线性表插入与删除运算

线性表 线性表的定义 线性表&#xff0c;或称表&#xff0c;是一种非常灵便的结构&#xff0c;可以根据需要改变表的长度&#xff0c;也可以在表中任何位置对元素进行访问、插入或删除等操作。另外&#xff0c;还可以将多个表连接成一个表&#xff0c;或把一个表拆分成多个表…

LeetCode213. House Robber II——动态规划

文章目录 一、题目二、题解 一、题目 You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All houses at this place are arranged in a circle. That means the first house is the neighbor of the …

IO进程线程day3作业

1、使用 fread 和 fwrite 完成文件拷贝 代码&#xff1a; #include<myhead.h> int main(int argc, const char *argv[]) {//判断终端输入if(argc!3){printf("inputs file error\n");printf("usage:./a.out srcfile destfile\n");return -1;}//定义…