1.元组的定义
序号 | 类别 | 说明 | 例子 |
1 | 元组的定义格式 | 定义后内容不能更改 | tuple1 = (1, 2) |
2 | 空元组的定义 | 无 | tuple1 = () |
3 | 单个内容的元组定义 | 必须在那个内容后面添加逗号",",不然其数据类型会根据内容的数据类型而改变。 | tuple1 = (1,) |
4 | 多个内容的元组定义 | 整数、浮点数、列表、元组、字符串、集合、字典都可以 | tuple1 = (1, 1.1......) |
(1)变量名 = (内容1, 内容2......)。定义后内容不可修改
# 元组:其所包含的内容不可变
tuple1 = (1, 2)
tuple1[0] = 0 定义后不能修改
(2)空元组的定义
# 空元组的定义
tuple1 = ()
print(tuple1, type(tuple))
"输出结果:() <class 'type'>"
(3)单个内容的元组定义
# 单个内容的元组的定义
# 单个内容后面必须添加逗号",",不然会改变其数据类型
tuple_int1 = (1)
tuple_int2 = (2,)
print(tuple_int1, type(tuple_int1))
"输出结果:1 <class 'int'>"
print(tuple_int2, type(tuple_int2))
"输出结果:(2,) <class 'tuple'>"
tuple_str1 = ("大概火车")
tuple_str2 = ("大概火车",)
print(tuple_str1, type(tuple_str1))
"输出结果:大概火车 <class 'str'>"
print(tuple_str2, type(tuple_str2))
"输出结果:('大概火车',) <class 'tuple'>"
(4)多个内容的元组定义
# 多个内容的元组定义(整数、浮点数、列表、元组、字符串、集合、字典都可以)
tuple1 = (1, 1.1, [1, 2, 3, 4], (1, 2, 3, 4), "大概火车", {1, 2, 3, 4}, {"1": 1, "2": 2})
print(tuple1)
"输出结果:(1, 1.1, [1, 2, 3, 4], (1, 2, 3, 4), '大概火车', {1, 2, 3, 4}, {'1': 1, '2': 2})"
2.元组推导式
序号 | 格式 | 解释 | 功能 |
1 | 变量名 = [ expression for iter_val in iterable if cond_expr ] | 看代码 | 可以有筛选或无筛选的生成一个元组 |
# 元组推导式
# 变量名 = [ expression for iter_val in iterable if cond_expr ]
# 详细解释:
# expression:关于变量iter_val的表达式,其输出结果会存储到变量中
# for...in...:把迭代对象中的元素依次取出来
# iter_val:变量名,这里是把迭代对象的元素赋值给变量了
# iterable:可迭代对象,例如元组等
# if:(非必填)对元素进行判断,也就是元素的筛选。当cond_expr这个表达式正确的时候,该元素会进入表达式expression中
# cond_expr:(非必填)表达式,返回值为True或者False
# 没筛选的元组推导式
tuple1 = (i for i in range(10))
print(tuple1)
"输出结果:<generator object <genexpr> at 0x0000020F7F7F9C80>"
for i in tuple1:
print(i, end=" ")
"输出结果:0 1 2 3 4 5 6 7 8 9 "
print() # 换行
# 有筛选的元组推导式
tuple2 = (i for i in range(10) if i % 2 == 0)
print(tuple2)
"输出结果:<generator object <genexpr> at 0x0000020F7F7F9C80>"
for i in tuple2:
print(i, end=" ")
"输出结果:0 2 4 6 8 "
3.元组的函数
(1)10个内置函数
序号 | 函数名 | 功能 |
1 | len() | len()函数求出元组内元素的个数 |
2 | max() | max()函数求出元组元素中的最大值 |
3 | min() | min()函数求出元组元素中的最小值 |
4 | sum() | sum()函数求出元组元素的和 |
5 | list() | list()函数让元组转换成列表 |
6 | tuple() | tuple()函数对元组本身没有任何作用 |
7 | set() | set()函数让元组转换成集合 |
8 | str() | str()函数让元组转换成字符串 |
9 | reversed() | reversed()函数让元组元素反转 |
10 | enumerate() | enumerate()函数让元组的索引和元素合成元组 |
# 10个内置函数
tuple1 = (1, 2, 3, 4)
print(len(tuple1)) # len()函数求出元组内元素的个数
print(max(tuple1)) # max()函数求出元组元素中的最大值
print(min(tuple1)) # min()函数求出元组元素中的最小值
print(sum(tuple1)) # sum()函数求出元组元素的和
print(list(tuple1)) # list()函数让元组转换成列表
print(tuple(tuple1)) # tuple()函数对元组本身没有任何作用
print(set(tuple1)) # set()函数让元组转换成集合
print(str(tuple1)) # str()函数让元组转换成字符串
print(list(reversed(tuple1))) # reversed()函数让元组元素反转
print(list(enumerate(tuple1))) # enumerate()函数让元组的索引和元素合成元组
(2)查找元组的元素
序号 | 函数 | 格式 | 解释 | 功能 |
1 | index() | tuple.index(item, start, end) | start:表示查找元组的起点位置(包括该点,非必填) end:表示查找元组的终点位置(不包括该值,非必填) | 返回元组某个元素第一次出现的下标。 (1)当item不存在的时候,会报错。 (2)当item存在多个的时候,只会返回第一个的下标。 |
2 | count() | tuple.count(item) | 无 | 当item不存在的时候,会返回0 |
(2)index函数
# 元组的访问
# index()函数
# 返回元组某个元素第一次出现的下标
# 语法格式:tuple.index(item, start, end)
# 详细解释:
# tuple:表示元组
# index:表示索引函数
# item:表示要索引的元素
# start:表示开始索引的位置(开区间,非必填)
# end:表示结束索引的位置(闭区间,非必填)
# 注意事项:
# 1.当item不存在时,会报错
# 1.当item存在多个时,只会返回第一个的下标
tuple1 = (1, 2, 3, 4, 1)
print(tuple1.index(1))
"输出结果:0"
print(tuple1.index(1, 1, 5))
"输出结果:4"
(3)count()函数
# 元组元素个数的统计
# count()函数
# 返回元组中某个元素的个数
# 语法格式:tuple.count(item)
# 详细解释:
# tuple:表示元组
# count:表示统计函数
# item:表示要统计的元素
# 注意事项:
# 1.当item不存在时,会返回0
tuple1 = (1, 2, 3, 4, 1)
print(tuple1.count(1))
"输出结果:2"
print(tuple1.count(-1))
"输出结果:0"