Python 元组详细使用
1. 元组
元组和列表类似,但属于不可变序列,元组一旦创建,用任何方法都不可修改其元素。
元组的定义方式和列表相同,但定义时所有元素是放在一对圆括号“()”中,而不是方括号中。
1.1元组创建
- 使用”=”将一个元组赋值给变量
>>> a_tuple=('a','b','mpilgrim','z','example')
>>> a_tuple
('a', 'b', 'mpilgrim', 'z', 'example')
>>> a = (3) # 这里的括号代表数学里面的小括号
>>> a
3
>>> a = (3,) # 包含一个元素的元组,最后必须写多个逗号
>>> a
(3,)
>>> a = 3, # 也可以这样去创建元组
>>> a
(3,)
>>> x = () # 创建空元组
>>> x
()
- 使用tuple函数将其他序列转换为元组
>>> tuple('abcdefg') # 把字符串转换为元组
('a', 'b', 'c', 'd', 'e', 'f', 'g')
>>> aList = [-1,-4,6,7.5,-2.3,9,11]
>>> aList
[-1, -4, 6, 7.5, -2.3, 9, 11]
>>> tuple(aList) # 把列表转换为元组
(-1, -4, 6, 7.5, -2.3, 9, 11)
>>> s = tuple() # 空元组
>>> s
()
1.2 访问元组
- 元组可以使用下标索引来访问元组中的值,与列表类似
>>> a = ('a','b','c')
>>> a[0]
'a'
- 因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素
>>> c = ('a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c')
>>> c[2:4]
('c', 'a')
1.3 修改元组
- 与字符串和列表一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组
>>> a = ('a','b','c')
>>> a[0]
'a'
>>> a = ('a','b','c')
>>> b = (1,2,3)
>>> a + b
('a', 'b', 'c', 1, 2, 3)
>>> a*3
('a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c')
>>>
注意:这里修改元组的意思其实是返回了一个新的元组,并没有对原来的元组进行修改
1.4 删除元组
- 使用del可以删除元组对象,不能删除元组中的元素
>>> a = ('a','b','c')
>>> a
('a', 'b', 'c')
>>> del a
>>> a
Traceback (most recent call last):
File "<pyshell#38>", line 1, in <module>
a
NameError: name 'a' is not defined
1.5 元组常用函数
>>> student= (1, "tom", "2008-05-06", 10, 135.7)
>>> print(len(student)) # len 返回元组的元素个数
5
>>> num=(1, 2, 3, 4, 5, 6, 7 )
>>> print (max(num)) # max 返回元组元素最大值
7
>>> num=(1, 2, 3, 4, 5, 6, 7 )
>>> print (min(num)) # min 返回元组元素最小值
1
1.6 元组与列表的区别
- 元组一旦定义就不允许更改。
- 元组没有append()、extend()和insert()等方法,无法向元组中添加元素。
- 元组没有remove()或pop()方法,也无法对元组元素进行del操作,不能从元组中删除元素。
- 从效果上看,tuple( )冻结列表,而list( )融化元组。
1.7 元组的优点
- 元组的速度比列表更快。如果定义了一系列常量值,而所需做的仅是对它进行遍历,那么一般使用元组而不用列表。
- 元组对不需要改变的数据进行“写保护”将使得代码更加安全。
- 元组可用作字典的“键”,也可以作为集合的元素。列表永远不能当做字典键使用,也不能作为集合的元素,因为列表不是不可变的。
注意:如果元组里面的元素嵌套着列表,那么这个列表中的元素其实是可变的。
>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])
>>>
所以这里的理解应该是元组 t 里面的元素本身不可变,但是其中有一个元素是一个list,我们对list中的元素进行了修改,但是并没有对元组里面的元素进行修改,所以这里运行才是正常的。
Python 元组详细使用的更多相关文章
- Python元组
Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup1 = ('physi ...
- Python 元组内置函数
Python元组包含了以下内置函数 序号 方法及描述 1 cmp(tuple1, tuple2)比较两个元组元素. 2 len(tuple)计算元组元素个数. 3 max(tuple)返回元组中元素最 ...
- Python元组与字典详解
Python 元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup ...
- Python 元组 count() 方法
描述 Python 元组 count() 方法用于统计某个元素在元祖中出现的次数. 语法 count() 方法语法: T.count(obj) 参数 obj -- 元祖中统计的对象. 返回值 返回元素 ...
- Python 元组 index() 方法
描述 Python 元组 index() 方法用于从元祖中找出某个对象第一个匹配项的索引位置,如果这个对象不在元祖中会报一个异常. 语法 index() 方法语法: T.index(obj[,star ...
- Python 元组 tuple() 方法
描述 Python 元组 tuple() 方法用于将可迭代对象(字符串.列表.元祖.字典)转换为元组. 语法 tuple() 方法语法: tuple(iterable) 参数 iterable -- ...
- Python 元组 min() 方法
描述 Python 元组 min() 方法返回元组中元素最小值. 语法 min() 方法语法: min(T) 参数 T -- 指定的元组. 返回值 返回元组中元素最小值. 实例 以下实例展示了 min ...
- Python 元组 max() 方法
描述 Python 元组 max() 方法返回元组中元素最大值. 语法 max() 方法语法: max(T) 参数 T -- 指定的元组. 返回值 返回元组中元素最大值. 实例 以下实例展示了 max ...
- Python 学习笔记(九)Python元组和字典(一)
Python 元组 元组的定义 元组(tuple)是一种Python对象类型,元组也是一种序列 Python中的元组与列表类似,不同之处元组的元素不能修改 元组使用小括号,列表使用方括号 元组的创建 ...
- python 元组拾遗
python 元组拾遗 python 语法糖 def printall(*args): return args 一个以 * 开头的参数将参数聚集为一个元组. printall函数可以接收任意个数的 ...
随机推荐
- Java 开发手册 (阿里巴巴开发手册)
Java 开发手册 (有需要pdf版本的私信我,可以邮箱发)0版本号 制定团队 更新日期 备注 1.4.0 阿里巴巴集团技术团队 2018.5.20 增加设计规约(详尽版) 一.编程规约 (一) 命名 ...
- vue学习笔记 十、状态管理基础结构
系列导航 vue学习笔记 一.环境搭建 vue学习笔记 二.环境搭建+项目创建 vue学习笔记 三.文件和目录结构 vue学习笔记 四.定义组件(组件基本结构) vue学习笔记 五.创建子组件实例 v ...
- Vue项目中使用 tinymce 富文本编辑器的方法,附完整源码
Vue项目中使用 tinymce 富文本编辑器的方法,附完整源码 https://blog.csdn.net/snsHL9db69ccu1aIKl9r/article/details/11432414 ...
- 机器学习-线性分类-支持向量机SVM-合页损失-SVM输出概率值-16
目录 1. SVM概率化输出 2. 合页损失 1. SVM概率化输出 标准的SVM进行预测 输出的结果是: 是无法输出0-1之间的 正样本 发生的概率值 sigmoid-fitting 方法: 将标准 ...
- Angular系列教程之模板语法
.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...
- [转帖]Prometheus 监控之 Blackbox_exporter黑盒监测 [icmp、tcp、http(get\post)、dns、ssl证书过期时间]
Blackbox_exporter 主动监测主机与服务状态 Prometheus 官方提供的 exporter 之一,可以提供 http.dns.tcp.icmp 的监控数据采集 官方github: ...
- [转帖]安全技术和iptables防火墙
目录 安全技术 Netfilter 防火墙工具介绍 iptables firewalld nftables iptables的组成概述 netfilter与iptables关系 iptables的四表 ...
- [转帖] Linux命令拾遗-查看系统信息
https://www.cnblogs.com/codelogs/p/16060714.html 简介# 作为一名程序员,有时需要关注自己的进程运行在什么样的软硬件环境里,比如几核cpu.固态硬盘还是 ...
- [转帖]讨论在 Linux Control Groups 中运行 Java 应用程序的暂停问题原创
https://heapdump.cn/article/1930426 说明 本篇原文来自 LinkedIn 的 Zhenyun Zhuang,原文:Application Pauses When R ...
- [转帖] GC耗时高,原因竟是服务流量小?
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介# 最近,我们系统配置了GC耗时的监控,但配置上之后,系统会偶尔出现GC耗时大于1s的报警,排查花了一些力气,故 ...