一、元组的定义

元组名 = ( 元素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)的定义与基本操作相关推荐

  1. python元组的创建取值排序计数_Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】...

    本文实例讲述了Python元组 tuple的概念与基本操作.分享给大家供大家参考,具体如下: 元组 tuple 元组 tuple的定义 元组的创建 元组的元素访问和计数 1. 元组的元素不能修改 2. ...

  2. Python基础——数据类型—元组

    Python基础--数据类型-元组 Python基础--数据类型-元组 元组的创建 访问元组 元组的拼接 元组中的元素是不允许进行修改和删除的,但是可以删除整个元组 元组的运算符 打印元组元素 元组的 ...

  3. python中定义元组的符号_python 3 基础之元组tuple,详解

    元组 元组不可改变,只要定义完成,就已经决定数值,即不可再改变,一般用来保存一些不会改变的数据:与列表类似,列表用中括号而元组用小括号,元组不可改变而列表可以. tuple和list非常类似,但是tu ...

  4. python学习-元组tuple(定义、删除、长度、复制、查找、遍历、operator,和列表的区别)

    元组tuple 元组的创建 元组的使用 使用进阶 元组和列表的区别 元组的创建 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组的创建,使用()或在定义变量以后添加一个逗号(,) ...

  5. Python基础(list和tuple)可变集合和‘不可变’集合

    list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ...

  6. Python基础-list和tuple使用

    list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ...

  7. Python基础day04【函数(定义与调用、文档说明、传参函数、全局变量、返回值、嵌套调用)】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day04[字典]    目录 3.函数 函数的定义和调用 函数定义 PEP8规范 ...

  8. python基础day6元组与字典集合操作

    目录 1.元组 介绍元组 定义元组 元组的操作 2.字典 创造字典 字典的操作 3.get(),keys()和values(),items() 4.集合 集合的介绍 创建集合 集合的常见操作 5.公共 ...

  9. python基础之元组定义进阶操作、字典定义进阶操作

    元组 创建元组 把所有的元素放到括号里,就是元组 创建空元组 如果定义只有一个元素的元组,那么这个元素后面要加一个逗号,告诉它我要定义的是元组 创建复杂的元组,括号内可以随便嵌套. 当然,如果嵌套的层 ...

最新文章

  1. 当javaScript从入门到提高前需要注意的细节:函数部分
  2. 线性表—单向循环链表
  3. python中matrix是什么意思_初识Python
  4. Squid概述及相关配置说明
  5. 创建 Spring容器的三种方式
  6. 安全地创建和存储密码
  7. ACL20 best paper荣誉提名 | DO NOT STOP Pre-training!
  8. 《深入理解java虚拟机》第2章 Java内存区域与内存溢出异常
  9. 底层原理_自动装箱与拆箱底层原理
  10. JQuery 实践--让页面动起来
  11. 10突然只剩下c盘和d盘了_科普:为什么软件不能装C盘?会卡!这是真的吗?
  12. 冲刺阶段(二) 第六天
  13. CoreMotion 框架
  14. 苹果智能家居—HomeKit,带给您不一样的生活体验
  15. 怎么通过Win pe下面注册表编辑器载入原来系统注册表更改信息
  16. 12.2版本数据库ORA-20001: Statistics Advisor: Invalid task name for the current user
  17. 我所理解的闭包是酱紫的
  18. WinForm实现倒计时锁定程序完整源码附注释
  19. 如何修改jadx的默认内存
  20. php手机号正则替换中间四位

热门文章

  1. win10输入法 全角/半角切换快捷键
  2. Android 操作系统的内存回收机制
  3. vivox3android系统,vivo X3深入评测:Smart vivo ROM系统功能
  4. codewar 小镇人口增长
  5. http://www.cppblog.com/wsy6634/archive/2009/05/16/83115.aspx?opt=admin
  6. Vue 高德地图 js API Loca 如何使用 连接线图层、脉冲连线图层
  7. eclipse 操作
  8. 【音视频】在SDK中集成windows视音频设备热插拔功能(5-2)
  9. 优秀代码---改善代码三部曲:重构、设计模式、重构与模式
  10. openSUSE解决无法识别WIFI问题