作者:聆听最遥远的歌声 | 来源:互联网 | 2023-10-12 15:01
元组的定义-元组是有序的不可变对象的集合-元组使用下括号包围,各个对象之间使用逗号分隔-元组是异构的,可以包含多种数据类型元组的使用-创建1.直接使用逗号分隔#1.直接使
"""元组的定义
- 元组是有序的不可变对象的集合
- 元组使用下括号包围,各个对象之间使用逗号分隔
- 元组是异构的,可以包含多种数据类型
"""
1. 直接使用逗号分隔
# 1. 直接使用逗号分隔
tup1 = 1, 2, 3, 4, 5
print(type(tup1), tup1)
2. 通过小括号填充元素
# 2. 通过小括号填充元素
tup2 = (1, 2, 3, 4, 5)
print(type(tup2), tup2)
3. 通过构造函数tuple(iterable)
# 3. 通过构造函数tuple(iterable)
tup3 = tuple()
print(type(tup3), tup3)
# 赋值为字符串对象
tup4 = tuple('testing')
print(type(tup4), tup4)
# 赋值为列表对象
tup5 = tuple([1, 2, 3, 4, 5])
print(type(tup5), tup5)
4. 注意:单元素元组,逗号不可或缺
# 4. 注意:单元素元组,逗号不可或缺
tup6 = 1,
print(type(tup6), tup6)
tup7 = (1,)
print(type(tup7), tup7)
# 若不加逗号,则返回的是一个int类型的值
tup8 = (8)
print(type(tup8), tup8)
"""元组的使用: 索引"""
tup9 = tuple("hefei")
# 1. 正向索引
print(tup9[2])
# 2. 反向索引
print(tup9[-2])
"""元组的使用:切片
- 切片[start:stop:step]
- 三个值都是可选的,非必填
- start值:指示开始索引值,如果没有指定,则默认开始值为0;
- stop值: 指示到哪个索引值结束,但不包括这个结束索引值。如果没有指定,则取列表允许的最大索引值;
- step值: 步长值指示每一步大小,如果没有指定,则默认步长为1
"""
# 1. [start:stop:step]
tup10 = tuple("hefeiwtt")
print(tup10)
print(tup10[0:3:1])
# 2. 将元组反转
print(tup10[::-1])
"""元组常用方法index()
- index(item)
- 入参:对象item
- 返回:与目标元素相匹配的首个元素的索引
- 目标必须在元组中存在的,否则会报错
"""
tup11 = tuple("hefeiwtt")
# 1. index(item)
print(tup11.index('t'))
# 2. 不存在,会报ValueError错误
#print(tup11.index('o'))
"""元组常用方法count()
- count(item): 返回某个元素出现的次数
- 入参: 对象item
- 返回: 次数
"""
# 1. count(item)
tup12 = tuple("hefeiwtt")
print(tup12.count('t'))
"""元组解包
- 把一个可迭代对象里的元素,一并赋值到由对应的变量组成的元组中
"""
tup13 = 1, 2, 3
# 1. 传统逐个赋值
a = tup13[0]
b = tup13[1]
c = tup13[2]
print(a, b, c)
# 2. 解包平行赋值
a, b, c = tup13
print(a, b, c)
"""元组和列表
- 相同点:
- 都是有序的
- 都是异构的,能够包含不同类型的对象
- 都支持索引和切片
- 区别
- 声明方式不同,元组使用(),列表使用[]
- 列表是可变的,元组是不可变的
"""