python 常用数据结构-元组

Tuple 元组
1、 元组使用:创建

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

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

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

2、 元组使用:索引

  • 可以通过索引值来访问对应的元素。
    • 正向索引,默认编号从 0 开始
    • 反向索引,默认编号从-1 开始
t = tuple(range(1, 6))
# 正向索引
print(t[2]) #打印3
# 反向索引
print(t[-1]) #打印5

3、 元组使用:切片

# 切片的使用
t = (1,2,3,4,5,6)
print(t[:]) #(1, 2, 3, 4, 5, 6)
print(t[:-2]) #(1, 2, 3, 4)
print(t[2:4]) #(3, 4)
print(t[2:5:2]) #(3, 5)

# 特殊的切片写法:逆序
print(t[::-1]) #(6, 5, 4, 3, 2, 1)

4、元组常用方法 index()

  • 返回与目标元素相匹配的首个元素的索引。
  • 目标必须在元组中存在的,否则会报错
t = (1, 3, 2, 3, 2)
print(t.index(3)) #1 返回的是索引值

t = ('h', 'o', 'g', 'w', 'a', 'r', 't', 's', 'a')
print(t.index('a')) #4 返回的是索引值

5、 元组常用方法 count()

  • count(item):返回某个元素出现的次数。
  • 入参:对象 item
  • 返回:次数
t = (1, 2, 2, 3, 3, 3, 3)
print(t.count(3)) #4 返回的是元素出现的次数

t = ('h', 'o', 'o', 'o', 'g', 'w', 'a', 'r', 't', 's')
print(t.count('a')) #1 返回的是元素出现的次数

6、 元组解包

  • 元组解包:把一个可迭代对象里的元素,一并赋值到由对应的变量组成的元组中。
# 传统逐个赋值的方式
t = (1, 2, 3)
a = t[0]
b = t[1]
c = t[2]
print(a, b, c) # 1 2 3

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

7、 元组与列表

  • 相同点
    • 都是有序的
    • 都是异构的,能够包含不同类型的对象
    • 都支持索引和切片
  • 区别
    • 声明方式不同,元组使用(),列表使用 []
    • 列表是可变的,元组是不可变的