首页 > 其他 > 详细

数据类型之元组

时间:2020-11-29 23:41:53      阅读:34      评论:0      收藏:0      [点我收藏+]

一.元组的作用

  元组就是一个不可变的列表

元组作用:按照索引存在多个值,只能用于取(读),不能用于改;列表是可存(取,读),也能修改;

     如果需要只读操作,应该用元组,同等数据量的情况下,元祖比列表更节省空间,效率要高

二.元组的定义与运用

定义:与列表类似,只不过是列表的[]变为了(),小括号内用逗号分隔开多个任意类型的元素

  t = (12,13.5,"xialiang",["zhangsan","lisi"])   # t = tuple (12,13.5,"xialiang",["zhangsan","lisi"]),元组中可以放整型、浮点型、字符串、列表等都可以

  print(type(t))

  输出结果:<class ‘tuple‘>   # 输出结果显示为一个元组

  t = (10)  #单独一个小括号代表包含的意思,如果只放一个元素,这样就会认为是一个定义的元素,当放数字时就为认为是int类型,当放字符串时就会认为是str类型等               print(type(t))

  输出结果:<class ‘int‘>

  t = (10,)  #如果小括号中只放一个元素,想要定义为元组时,就必须在后面加上逗号

  pirnt(type(t))

  输出结果:<class ‘tuple‘>

注意:元组是不可变类型,是对元组中的值的内存地址不可变的;但是,如果元组中包含列表(列表为可变类型),里面的列表中的值时可以修改的

  案例一,元祖不可修改

  t = (111,222,"xialiang")

  t[0] = 111111  #下标是表示值的内存地址,这里改变了下标为0的内存地址,所以在运行时会报错

  print(t)  #程序会报错,

  案例二,元组中包含列表

  t = (111,222,"xialiang",["zhugui",23])

  t[3][0] = "zhuyongpei"  #修改了类别中的下标为0的值,这时没有修改元组下标为3的内存地址,只是修改了元组下标为3中列表中下标为0的内存地址

  print(t)  #能修改成功

三.元组的类型转换

  print(tuple("xia")) # 把一个字符串转换为元组

  输出结果:(‘x‘, ‘i‘, ‘a‘)

  print(tuple([1,2,3,4])) # 把一个列表转换为元组

  输出结果:(1, 2, 3, 4)

  print(tuple({"k1":11,"k2":22})) # 把一个字典转换为元组

  输出结果:(‘k1‘, ‘k2‘, ‘k3‘)

四.元组的内置方法

  注:与列表中的一样,除了不能修改里面的值,其他与列表操作一致

  t = (1,"xialiang",3,4,5)

  print(t[0]) #正向取值

  print(t[-1]) #反向取值

  print(t[0:3:2]) #切片+步长   

  print(t[::-1]) #反转

  print(len(t)) #长度

  print(3 in t) #成员运算in 和 not in

  for x in t: #循环

     print(x)

  print(t.index("xialiang"))# 查看值的下标

  pitnt(t.count("xialiang"))#查看值在元祖中的个数

数据类型之元组

原文:https://www.cnblogs.com/xialiang37/p/14058602.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!