Python常用数据结构之--元组tuple--Loxida

Python 常用数据结构之–元组tuple

1、元组的定义:

①元组是有序的不可变对象集合

②元组使用小括号包围,各个对象之间使用逗号分隔

③元组是异构的,可以包含多种数据类型

2、元组的创建

(1)使用逗号分隔创建元组
t1 = 1, 2, 3
print(type(t1), t1)
(2)通过小括号填充元素
t2 = (1, 2, 3, 'a')
print(type(t2), t2)
(3)通过构造方法tuple(iterable)
t3 = tuple([1, 2, 3, 'hello']) # 可以赋值为一个列表对象
t4 = tuple() # 空元组
t5 = tuple('ok')
print(type(t3), t3)
print(type(t4), t4)
print(type(t5), t5)
#注意单元素元组,逗号不可或缺
t6 = 1,
t7 = (1,)
print(t6)
print(t7)

3、元组索引

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

②正向索引,默认编号从 0 开始

③反向索引,默认编号从-1 开始

#元组索引
tup1 = ('hello')
#正向索引
print(tup1[1])
#反向索引
print(tup1[-2])

4、元组切片

①切片[start: stop: step],三个值都是可选的,非必填

②start 值: 指示开始索引值,如果没有指定,则默认开始值为 0;

③stop 值:指示到哪个索引值结束,但不包括这个结束索引值。如果没有指定,则取元组允许的最大索引值;

④step 值:步长值指示每一步大小,如果没有指定,则默认步长值为 1。

#元组切片 [star:stop:step]
tup = tuple('abcdefghijk')
print(tup)
print(tup[-3])
print(tup[2:10])
print(tup[2:9:2])
print(tup[9:2:-2])

5、元组方法

(1)index(item) 方法

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

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

#index(),目标元素必须存在元组中
tup = tuple('hello')
print(tup.index('l'))
print(tup.index('o'))

(2)count(item)方法

返回某个元素出现的次数。

#count()方法
tup1 = tuple('environment')
print(tup1.count('n'))

6、元组解包

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

#元组解包
tup1 = 1, 2, 3
#1、传统逐个赋值方式
a = tup1[0]
b = tup1[1]
c = tup1[2]
print(a, b, c)
#2、解包平行赋值,注意两边的元素个数相同
#写法1
a, b, c = tup1
#写法2
a, b, c = [1, 2, 3]
print(a, b, c)