Python常用数据结构 -- 元组

元组定义

  • 元组是有序的不可变对象集合
  • 元组使用小括号包围,各个对象之间使用逗号分隔
  • 元组是异构的,可以包含多种数据类型

元组使用:创建

创建

  • 使用逗号分隔
  • 通过小括号填充元素
  • 通过构造方法 tuple(iterable)
# 1、直接使用逗号分隔
t5 = 1, 2, 3
print(type(t5))

# 2、通过小括号填充元素
t3 = (1, 2, 3)
print(t3)
t4 = ('a', 'b', 'c')
print(t4)

# 3、通过构造函数tuple()
t1 = tuple()
print(type(t1))
t2 = tuple([1, 2, 3])
print(t2)
print(type(t2))

tup = 1, #如果只有一个元素,创建时需要加,
print(tup)

元组使用:索引

  • 索引

  • 可以通过索引值来访问对应的元素。

    • 正向索引,默认编号从 0 开始
    • 反向索引,默认编号从-1 开始
       
t = tuple(range(1, 6))

# 正向索引
print(t[2])

# 反向索引
print(t[-1])

元组使用:切片

切片 [start: stop: step]

  • 三个值都是可选的,非必填
  • start 值: 指示开始索引值,如果没有指定,则默认开始值为 0;
  • stop 值:指示到哪个索引值结束,但不包括这个结束索引值。如果没有指定,则取元组允许的最大索引值;
  • step 值:步长值指示每一步大小,如果没有指定,则默认步长值为 1
# 切片的使用
t = (1,2,3,4,5,6)

print(t[:])
print(t[:-2])
print(t[2:4])
print(t[2:5:2])

# 特殊的切片写法:逆序
print(t[::-1])

元组常用方法

index()

  • index(item)

  • 返回与目标元素相匹配的首个元素的索引。

  • 目标必须在元组中存在的,否则会报错

t = (1, 3, 2, 3, 2)
print(t.index(3))

t = ('h', 'o', 'g', 'w', 'a', 'r', 't', 's', 'a')
print(t.index('a'))

count()

  • count(item):返回某个元素出现的次数。

  • 入参:对象 item

  • 返回:次数

t = (1, 2, 2, 3, 3, 3, 3)
print(t.count(3))

t = ('h', 'o', 'o', 'o', 'g', 'w', 'a', 'r', 't', 's')
print(t.count('a')

元组解包

元组解包:把一个可迭代对象里的元素,一并赋值到由对应的变量组成的元组中

# 传统逐个赋值的方式

t = (1, 2, 3)
a = t[0]
b = t[1]
c = t[2]
print(a, b, c)

# 使用元组解包,一气呵成
a, b, c = (1, 2, 3)
print(a, b, c)

元组与列表

  • 相同点
    • 都是有序的
    • 都是异构的,能够包含不同类型的对象
    • 都支持索引和切片
  • 区别
    • 声明方式不同,元组使用(),列表使用 []
    • 列表是可变的,元组是不可变的
 
posted @   lms21  阅读(204)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示