python之元组详细介绍

  • 1.元组基本概念
  • 2.元组操作
    • 2.1 元组创建
    • 2.2 元组解包
    • 2.3 更新和删除元组
  • 3.元组tuple和列表list的区别
    • 3.1 元组tuple和列表list的相同点
    • 3.2 元组tuple和列表list的不同点

1.元组基本概念

(1)定义:元组是⼀个不可变序列(⼀般当我们希望数据不改变时,我们使⽤元组,其他情况下基本都⽤列表)

(2)表现形式:tuple()

2.元组操作

2.1 元组创建

使用()创建元素
元组不是空元组⾄少有⼀个 逗号(,)  当元组不是空元组时括号可以省略
tuple函数将其他类型转为元组
my_tuple1 = () # 创建空列表
my_tuple2 = (1,2,3,4,5)  # 创建int元素的列表
my_tuple3 = ('a','b','c','d')  # 创建str元素的列表
my_tuple4 = ('a',1,True,None)   # 创建混合列表
print(my_tuple1,my_tuple2,my_tuple3,my_tuple4)
my_tuple5 = 1,
print(type(my_tuple5))  #<class 'tuple'>
my_tuple6 = 1,2,3,4
print(type(my_tuple6))  #<class 'tuple'>
a = [1,2,3]
b = 'abc'
c = tuple(a)
d = tuple(b)
print(c,' ', type(c))  # tuple函数将列表转为元组,结果(1, 2, 3)   <class 'tuple'>
print(d,' ', type(d))  # tuple函数将字符串转为元组,结果('a', 'b', 'c')   <class 'tuple'>

2.2 元组解包

元组解包就是指将元组当中的每一个元素都赋值给变量
my_tuple = (1,2,3,4)
a,b,c,d = my_tuple
print('a =',a)
print('b =',b)
print('c =',c)
print('d =',d)
  • 在元组解包时 变量的数量必须和元组中元素要一一对应
  • 如果出现变量和元素没有对等的情况下,我们可以在变量前面加个*
  • 这样变量就会讲获取元组中所有剩余的元素以列表形式返回
# 在元组解包时 变量的数量必须和元组中元素要一一对应
# 如果出现变量和元素没有对等的情况下,我们可以在变量前面加个*
# 这样变量就会讲获取元组中所有剩余的元素以列表形式返回
my_tuple = 10,20,30,40
# a,b,c = my_tuple  # 报错。too many values to unpack (expected 3)
a,b,*c  = my_tuple
print('a =',a)  # a = 10
print('b =',b)  # b = 20
print('c =',c)  # c = [30,40]a,*b,c  = my_tuple
print('a =',a)  # a = 10
print('b =',b) # b = [20,30]
print('c =',c)  # c = 40*a,b,c  = my_tuple
print('a =',a)  # a = [10, 20]
print('b =',b)  # b = 30
print('c =',c)  # c = 40

2.3 更新和删除元组

  • 元组是不可以改变的。但是可以通过拷贝现有的元组片段构造一个新的元组的方式解决。
  • 通过分片的方法让元组拆分成两部分,然后再使用连接操作符(+)合并成一个新元组,最后将原来的变量名(temp)指向连接好的新元组。在这里就要注意了,逗号是必须的,小括号也是必须的!
temp = ("龙猫","泰迪","叮当猫")
temp = temp[:2] + ("小猪佩奇",)+temp[2:]
print(temp)  # 结果:('龙猫', '泰迪', '小猪佩奇', '叮当猫')
  • 同理,删除元组中的元素:对于元组是不可变的原则来说,单独删除一个元素是不可能的,当然你可以利用切片的方式更新元组,间接的删除一个元素。
temp = ('龙猫', '泰迪', '小猪佩奇', '叮当猫')
temp = temp[:2] + temp[3:]
print(temp)  # 结果:('龙猫', '泰迪', '叮当猫')# 也可以通过del
temp = ('龙猫', '泰迪', '小猪佩奇', '叮当猫')
del temp
print(temp) #报错:
NameError: name 'temp' is not defined

3.元组tuple和列表list的区别

3.1 元组tuple和列表list的相同点

  • in 和 not in
'''
# in 和 not in
# in 表示用来检查指定元素是否在列表当中,如果在返回True,如果不在返回False
# not in  表示用来检查指定元素是否不在列表当中,如果不在返回True,如果在返回False
'''hero = ['钢铁侠','绿巨人','蜘蛛侠','黑寡妇','蚁人','美国队长']  # 创建hero列表
print('钢铁侠' in hero)  # 返回True
print('钢铁侠' not in hero)  # 返回Falsehero = ('钢铁侠','绿巨人','蜘蛛侠','黑寡妇','蚁人','美国队长')  # 创建hero元组
print('钢铁侠' in hero)  # 返回True
print('钢铁侠' not in hero)  # 返回False
  • python内置常用函数

  • 元组调用方法
a = 5,2,3,4
print(a[0])  # 5
a = sorted(a,reverse = True)
print(a) # [5, 4, 3, 2]print(a.count(1))  # 计算元素1出现的次数
print(a.index(5))  # 寻找元素5的索引
a = a.sort() # 排序,不能
print(a) # 输出为None

3.2 元组tuple和列表list的不同点

  • 列表一旦创建了我们就可以根据自己的需要随意改变它的内容,我们可以给列边添加新的数据来增加其大小。
l = [1, 2, 3, 4, 5, 6]
l[0] = l[2] * l[3]
print(l) # [12, 2, 3, 4, 5, 6]
len(l) # 6
l.append(7) # [12, 2, 3, 4, 5, 6, 7]
len(l) # 7
  • 元组是固定且不可改变的。这意味着一旦元组被创建,和列表不同,它的内容无法被修改或它的大小也无法被改变。
>>> t = (1, 2, 3, 4)
>>> t[0] = 5
Traceback (most recent call last):File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

虽然它们不支持改变大小,但是我们可以将两个元组合并成一个新元组。这一操作类似列表的resize操作,但我们不需要为新生的元组分配任何额外的空间:

>>> t1 = (1, 2, 3, 4)
>>> t2 = (5, 6, 7, 8)
>>> t1 + t2
(1, 2, 3, 4, 5, 6, 7, 8)

一般情况下希望数据不改变,就用元组,其余情况都用列表

python之元组(tuple)详细介绍相关推荐

  1. pythontuple数据类型_Python数据类型之元组的详细介绍

    本篇文章给大家带来的内容是关于Python数据类型之元组的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.元组的概念python中的元组是有序元素组成的集合,与列表的区别 ...

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

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

  3. Python(17)-元组tuple

    高级数据类型--元组 1.元组的定义 2.元组基本操作 3.元组的循环遍历 4.元组的应用场景 5.元组与格式化字符串 6.元组与列表之间的转换 元组的最大特征就是可访问不可改,可作为字典的键值,因为 ...

  4. python位运算符_详细介绍Python语言中的按位运算符

    按位运算符是把数字看作二进制来进行计算的.Python中的按位运算法则如下: 按位与 ( bitwise and of x and y ) & 举例: 5&3 = 1 解释: 101 ...

  5. python基础--元组,字典介绍(六)

    # range() 是一个函数,可以用来生成一个自然数的序列 r = range(5) #r = range(10) # 该函数需要三个参数, # 起始位置 # 结束位置 # 步长 r = range ...

  6. Python的元组(tuple)类型

    文章目录 1. 元组 1.1 定义 1.2 独有功能 1.3 公共功能 1.3.1 相加 1.3.2 相乘 1.3.3 获取长度 1.3.4 索引 1.3.4 切片.步长 1.3.5 for循环 1. ...

  7. Python 中的Sympy详细介绍

                                  Python 中的Sympy详细使用 遇到复杂计算找python绝对不让你失望,sympy是一个Python的科学计算库,用一套强大的符号计 ...

  8. [转载] python中元组(tuple)用法总结

    参考链接: Python | tuple函数 一.tuple也是一个class,是不可变的list类型,不可以增删改. 创建: tup1 = ('physics', 'chemistry', 1997 ...

  9. python中元组(tuple)用法总结

    一.tuple也是一个class,是不可变的list类型,不可以增删改. 创建: tup1 = ('physics', 'chemistry', 1997, 2000); tup2 = (1, 2, ...

最新文章

  1. 三维的对象表示---OpenGL二次曲面和三次曲面函数
  2. 揭开隐藏数据的面纱,优化应用程序性能(转)
  3. pb 动态改变DW的WHERE子句
  4. nginx离线安装_web高可用-基于keepalived和nginx
  5. 虚拟机网络桥接-NAT-HOST的理解
  6. CSS 自定义属性 -- 使用 JS 和不使用 JS
  7. 写一个函数,首先要明确是完成一个流程,还是一个功能
  8. STL-关联式容器 map
  9. rslinx连接linux教程,RSLinx Classic软件通讯配置教程
  10. 在线画图工具 免费
  11. 如何删除ie浏览器缓存文件、缓存js
  12. AppEmit是应用程序(尤其是浏览器)与本地程序间互相通信的易扩展的轻量级中间件
  13. Word中怎么批量修改所有表格样式
  14. win10 调用计算机,win10系统打开软件总提示是否允许程序修改计算机的解决方法...
  15. CNN网络结构发展演变:从LeNet到HRNet(一)
  16. Computer Shader
  17. 单片机应用系统设计技术——基于51单片机篮球计时计分器的设计
  18. 宏基因组学数据分析在生物医学领域的应用
  19. 哈佛商业评论:什么是颠覆性创新?
  20. 多项式除法终极方法:长除法 VS 综合除法

热门文章

  1. 在英文写作过程中,什么时候需要加the,什么时候不需要加the?
  2. java基本微信小程序的心理服务平台 uniapp 小程序
  3. @SuppressWarnings忽略警告
  4. Got minus one from a read call
  5. 实验十一:干簧管实验
  6. 沟通法则:我的思维我做主!
  7. 字号、pt、px、em换算对照表
  8. linux中cp命令的常见用法
  9. Python divmod函数
  10. 液晶显示器像素时钟信号DCLK