Python基础(3)——元组(tuple)的定义与基本操作
一、元组的定义
元组名 = ( 元素1 , 元素2 , ... ... )
#当定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来
>>> tup1 = ('Google', 'Runoob', 1997, 2000)
- Python 的元组与列表类似,不同之处在于元组的元素一旦初始化就不能修改 ( 因此元组又称为只读列表 )。不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
- 元组使用小括号 ( ),列表使用方括号 [ ]。
- 元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。
>>> tup1=()
>>> type(tup1) #创建空元组
<class 'tuple'>>>> tup2=(50)
>>> type(tup2) #不加逗号,类型为整型
<class 'int'>>>> tup3=(50,) #加上逗号,类型为元组
>>> type(tup3)
<class 'tuple'>
在Python中,很多人认为元组创建需要使用(),其实不然,真正决定元组的形式是逗号。
>>> tup='a','b',1,2
>>> type(tup)
<class 'tuple'>
二、元组的基本操作
元组与字符串类似,下标索引从0开始,可以进行截取,组合等。
1、访问元组
元组可以使用下标索引来访问元组中的值,如下实例:
tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )print ("tup1[0]: ", tup1[0]) #读取元组tup1中的第一个元素
print ("tup2[1:5]: ", tup2[1:5]) #截取元素,从tup2中的第二个到第五个元素运行结果:
tup1[0]: Google
tup2[1:5]: (2, 3, 4, 5)
2、修改元组
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz')# tup1[0] = 100 这样修改元组元素操作是非法的,会报错(TypeError: 'tuple' object does not support item assignment)# 创建一个新的元组:两个元组连接起来
tup3 = tup1 + tup2
print (tup3)运行结果:
(12, 34.56, 'abc', 'xyz')
3、删除元组
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例:
tup = ('Google', 'Runoob', 1997, 2000)
print (tup)del(tup) #删除元组tup
print ("删除后的元组 tup : ")
print (tup)运行结果:
('Google', 'Runoob', 1997, 2000)
删除后的元组 tup :
Traceback (most recent call last):File "D:\st13\python\1.11\lx.py", line 6, in <module>print (tup)
NameError: name 'tup' is not defined
4、元组运算符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
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 |
迭代 |
5、元组索引,截取
因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:
>>> tup1 = ('Google', 'Runoob', 1997, 2000)
>>> tup1[2] #读取第三个元素
1997
>>> tup1[-1] #反向读取,读取倒数第一个元素
2000
>>> tup1[1:] #截取元素,从第二个开始后的所有元素。
('Runoob', 1997, 2000)
5、元组内置函数
5.1> len(tuple) :计算元组元素个数
>>> tup1 = ('Google', 'Runoob', 1997, 2000)
>>> len(tup1)
4
5.2> max(tuple) :返回元组中元素最大值
>>> tup2=(5,4,6,1,9) #元素必须为同一类型的数据类型
>>> max(tup2)
9>>> tup3=('9','3','2','0')
>>> max(tup3)
'9'
5.3> min(tuple) :返回元组中元素最小值
>>> tup1=(5,4,6,1,9)
>>> min(tup1)
1>>> tup2=('9','3','2','0')
>>> min(tup2)
'0'
5.4> tuple(seq) :将列表转换为元组
>>> list1 = ['Google', 'Runoob', 1997, 2000]
>>> tup1=tuple(list1)
>>> print(tup1,type(tup1))
('Google', 'Runoob', 1997, 2000) <class 'tuple'>
5.5> sum(tuple) :求元组中的元素之和
>>> tup1=(2,4,3,6,7) #元组中的元素必须全部为int或float类型
>>> sum(tup1)
22
6、元组的方法(元组没有列表中的增、删、改的操作,只有查的操作)
6.1> tuple.index(obj):从元组中找出某个值第一个匹配项的索引值
>>> tup1=(1,2,3,5,6,2)
>>> tup1.index(2) #2出现了两次,只返回第一个匹配项的索引值
1
6.2> tuple.count(obj): 统计某个元素在元组中出现的次数
>>> tup1=(1,2,3,5,6,2,5,8,3,2,7)
>>> tup1.count(2) #统计2出现的次数
3
三、元组的使用实例
下面的代码是判断输入的日期是当年的第几天。将闰年和平年每月的天数分别存入元组tup1、tup2,然后判断查询的年份是平年还是闰年,分别计算天数即可。
year=int(input("请输入需要查询的年:"))
month=int(input("请输入需要查询的月:"))
day=int(input("请输入需要查询的天:"))
tup1=(31,29,31,30,31,30,31,31,30,31,30,31) #闰年
tup2=(31,28,31,30,31,30,31,31,30,31,30,31) #平年if year%400==0 or (year%4==0 and year%100!=0): #闰年days=sum(tup1[:month-1])fin=days+dayprint(month,"月",day,"日是",year,"年的第",fin,"天")
else:days=sum(tup2[:month-1])fin=days+dayprint(month,"月",day,"日是",year,"年的第",fin,"天")运行结果:
请输入需要查询的年:2019
请输入需要查询的月:12
请输入需要查询的天:31
12 月 31 日是 2019 年的第 365 天
Python基础(3)——元组(tuple)的定义与基本操作相关推荐
- python元组的创建取值排序计数_Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】...
本文实例讲述了Python元组 tuple的概念与基本操作.分享给大家供大家参考,具体如下: 元组 tuple 元组 tuple的定义 元组的创建 元组的元素访问和计数 1. 元组的元素不能修改 2. ...
- Python基础——数据类型—元组
Python基础--数据类型-元组 Python基础--数据类型-元组 元组的创建 访问元组 元组的拼接 元组中的元素是不允许进行修改和删除的,但是可以删除整个元组 元组的运算符 打印元组元素 元组的 ...
- python中定义元组的符号_python 3 基础之元组tuple,详解
元组 元组不可改变,只要定义完成,就已经决定数值,即不可再改变,一般用来保存一些不会改变的数据:与列表类似,列表用中括号而元组用小括号,元组不可改变而列表可以. tuple和list非常类似,但是tu ...
- python学习-元组tuple(定义、删除、长度、复制、查找、遍历、operator,和列表的区别)
元组tuple 元组的创建 元组的使用 使用进阶 元组和列表的区别 元组的创建 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组的创建,使用()或在定义变量以后添加一个逗号(,) ...
- Python基础(list和tuple)可变集合和‘不可变’集合
list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ...
- Python基础-list和tuple使用
list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ...
- Python基础day04【函数(定义与调用、文档说明、传参函数、全局变量、返回值、嵌套调用)】
视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day04[字典] 目录 3.函数 函数的定义和调用 函数定义 PEP8规范 ...
- python基础day6元组与字典集合操作
目录 1.元组 介绍元组 定义元组 元组的操作 2.字典 创造字典 字典的操作 3.get(),keys()和values(),items() 4.集合 集合的介绍 创建集合 集合的常见操作 5.公共 ...
- python基础之元组定义进阶操作、字典定义进阶操作
元组 创建元组 把所有的元素放到括号里,就是元组 创建空元组 如果定义只有一个元素的元组,那么这个元素后面要加一个逗号,告诉它我要定义的是元组 创建复杂的元组,括号内可以随便嵌套. 当然,如果嵌套的层 ...
最新文章
- 当javaScript从入门到提高前需要注意的细节:函数部分
- 线性表—单向循环链表
- python中matrix是什么意思_初识Python
- Squid概述及相关配置说明
- 创建 Spring容器的三种方式
- 安全地创建和存储密码
- ACL20 best paper荣誉提名 | DO NOT STOP Pre-training!
- 《深入理解java虚拟机》第2章 Java内存区域与内存溢出异常
- 底层原理_自动装箱与拆箱底层原理
- JQuery 实践--让页面动起来
- 10突然只剩下c盘和d盘了_科普:为什么软件不能装C盘?会卡!这是真的吗?
- 冲刺阶段(二) 第六天
- CoreMotion 框架
- 苹果智能家居—HomeKit,带给您不一样的生活体验
- 怎么通过Win pe下面注册表编辑器载入原来系统注册表更改信息
- 12.2版本数据库ORA-20001: Statistics Advisor: Invalid task name for the current user
- 我所理解的闭包是酱紫的
- WinForm实现倒计时锁定程序完整源码附注释
- 如何修改jadx的默认内存
- php手机号正则替换中间四位
热门文章
- win10输入法 全角/半角切换快捷键
- Android 操作系统的内存回收机制
- vivox3android系统,vivo X3深入评测:Smart vivo ROM系统功能
- codewar 小镇人口增长
- http://www.cppblog.com/wsy6634/archive/2009/05/16/83115.aspx?opt=admin
- Vue 高德地图 js API Loca 如何使用 连接线图层、脉冲连线图层
- eclipse 操作
- 【音视频】在SDK中集成windows视音频设备热插拔功能(5-2)
- 优秀代码---改善代码三部曲:重构、设计模式、重构与模式
- openSUSE解决无法识别WIFI问题