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.hqwc.cn/news/480075.html

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

相关文章

Vue3自定义全局指令批量注册

指令封装代码: import type { App } from "vue";const content {mounted(el : any, binding : any) {console.dir(binding.value);el.remove();} };const operate {mounted(el : any, binding : any) {console.dir(binding.value);el.remove();} };cons…

认识TypeScript 中的接口和类

🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 接口 类 江城开朗的豌豆 在 TypeScript 中&…

Linux下多核CPU指定程序运行的核

设置程序在指定CPU核心运行 一、如何查看程序运行的CPU信息 1.1 查看当前系统CPU有几个核心 查看CPU核心数量:lscpu 1.2 查看程序的PID ps aux|grep cpu_test1.3 查看程序可运行的CPU taskset -c -p pid1.4 设置程序在指定核心上运行 1.4.1 通过运行时的参数设…

课后延时服务选课报名管理系统功能清单

课后延时服务选课报名管理系统分为学校端,培训机构端,家长端。 学校端提供学生管理,课程管理,班级管理,班级排课,班级课表,可直接安排学生入班上课,查看学生考勤情况,查…

Microsoft Visio 摄像机图标

Microsoft Visio 摄像机图标 1. 更多形状 -> 搜索形状2. 摄像机References 1. 更多形状 -> 搜索形状 2. 摄像机 ​​​ References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

[Bug解决] Invalid bound statement (not found)出现原因和解决方法

1、问题描述 在写了一个很普通的查询语句之后,出现了下面的报错信息 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx.oauth.mapper.WxVisitorQrBeanMapper.selectByComIdAndEmpId at org.apache.ibatis.binding.Mappe…

市场复盘总结 20240220

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 一支股票 10%的时候可以操作, 90%的时间适合空仓等待 二进三: 进级率中 19% 最常用…

vue3+ant design 4.x版本遇见message不显示问题。

自己打断点到success,但是就是没有全局显示。 第一看自己的全局引入是否有问题: import { createApp } from vue; import ./style.css; import App from ./App.vue; import Antd from ant-design-vue; import ant-design-vue/dist/reset.css; import ro…

基于Springboot+Vue的超市管理系统源码

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 随着社会经济的发展和…

【大厂AI课学习笔记】【2.2机器学习开发任务实例】(8)模型训练

好吧,搞了半天,都是围绕数据在干活,这也就验证了,我们说的,数据准备等工作,要占到机器学习项目一半以上的工作量和时间。而且数据决定了模型的天花板,算法只是去达到上限。 我们今天来学习模型…

MySQL安装教程(详细版)

今天分享的是Win10系统下MySQL的安装教程,打开MySQL官网,按步骤走呀~ 宝们安装MySQL后,需要简单回顾一下关系型数据库的介绍与历史(History of DataBase) 和 常见关系型数据库产品介绍 呀,后面就会进入正式…

PMP含金量在国内怎么样?

其一、PMP(项目管理师)证书含金量高吗? PMP认证是由美国项目管理学会(PMI)在全球范围内推出的针对项目经理的资格认证体系,其证书含金量可以说是非常高。 统计表明,全球年销售收入在5亿美元以上的企业中有86%聘用了具有项目管理资质的项目经…