1、元组举例
# 元组的创建和列表类似,元组中的数据项是通过逗号","分隔,通过圆括号“()”括起来所有的数据项。
(1,2,3,4,5)
('1','2','3','4','5')
("a","b","c","d","e")
('python','C','C++','2024','1')
2、元组的创建和删除
# 创建列表
tuple1 = (1,2,3,4,5)
tuple2 = ('1','2','3','4','5')
tuple3 = ("a","b","c","d","e")
# 创建空元组
tuple1 = ()
# 注意,当元组中只包含一个元素时,需要在元素后面添加逗号",",否则括号会被当做运算符使用。
tuple1 = (20)
print(type(tuple1)) # 返回值为<class 'int'>
tuple2 = (20,)
print(type(tuple2)) # 返回值为<class 'tuple'>
# 创建数值元组
tuple1 = tuple(range(0,9))
print(tuple1)
# 元组属于不可变序列,无法删除元组中的部分元素,只能使用del命令删除整个元组对象。
tuple1 = ('1','2','3','4','5')
del tuple1
3、元组的访问和组合
tuple1 = (1,2,3,4,5)
# 元组和列表类似,从0开始可以使用下标索引来访问元组中的元素
print(tuple1[0]) # 输出结果为1
print(tuple1[1]) # 输出结果为2
# 元组也可以像列表一样,采用切片的方式来获取指定元素
print(tuple1[2:5]) # 输出结果为(3,4,5)
# for循环实现元组的遍历
tuple1 = (1,2,3,4,5)
for element in tuple1:
print(element)
# 元组中的值是不允许修改的,但是可以对元组进行连接组合
tuple1 = (1,2,3,4,5)
tuple2 = (6,7,8,9,10)
tuple3 = tuple1 + tuple2
print(tuple3) # 输出结果为(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
# 元组也可以通过重新赋值来改变元组的值
tuple1 = (1,2,3,4,5)
print(tuple1)
tuple1 = (6,7,8,9,10)
print(tuple1)
4、元组的推导式
# 元组也可以通过元组推导式快速生成元组。元组推导式格式如下:
# (表达式for 迭代变量 in 可迭代对象 [if 条件表达式])
# 元组的推导式除了用圆括号“()”括起来和生成的结果是一个生成器对象之外,其他用法和列表的推导式相同
# 利用0到9的平方生成一个整数列表,不包含[if条件表达式]
tuple1 = (x*x for x in range(0,9))
print(tuple1) # 返回值结果为:<generator object <genexpr> at 0x0000023A62B105F0>
print(tuple(tuple1)) # 返回值结果为:(0, 1, 4, 9, 16, 25, 36, 49, 64)
# 也可以通过__next__()方法遍历生成器来获取各个元素
print(tuple1.__next__()) # 返回值结果为:0
print(tuple1.__next__()) # 返回值结果为:1
...
print(tuple1.__next__()) # 返回值结果为:64
# 或者赋值给tuple2
tuple2 = tuple(tuple1)
print(tuple2)
5、元组的其他相关方法
tuple1 = (1,2,3,4,5)
# 计算元组的大小,即元组的个数
len(tuple1) # 返回值的结果为:5
# 返回元组中的元素最大值
max(tuple1) # 返回值的结果为:5
# 返回元组中的元素最小值
min(tuple1) # 返回值的结果为:1
# 将列表转换为元组
list1 = [5,6,7,8,9]
tuple2 = tuple(list1)
print(type(tuple2)) # 返回值的结果为:<class 'tuple'>
6、元组与列表的区别
元组和列表都属于序列,二者的主要区别在于以下几个方面:
1、列表属于可变序列,可以随时修改或删除例表中的元素。元组属于不可变序列,不能修改其中的元素,不能从元组中删除元素。
2、元组和列表都支持切片操作,但是,列表可以使用切片方式来修改其中的元素,而元组则不支持使用切片方式来修改其中的元素。
3、元组的访问和处理速度比例表快。如果只是对元素进行遍历,而不需要对元素进行任何修改,一般使用元组。
4、作为不可变序列,与整数、字符串一样,元组可以作为字典的键,而列表则不可以。
# 元组和列表之间进行转换
list1 = [1,2,3,4,5]
tuple1 = tuple(list1)
print(type(tuple1)) # 返回值的结果为:<class 'tuple'>
tuple2 = (1,2,3,4,5)
list2 = list(tuple2)
print(type(list2)) # 返回值的结果为:<class 'list'>
7、序列封包和序列解包
程序把多个值赋值给一个变量时,Python会自动将多个值封装成元组,这个功能被称为”序列封包“。
value = 1,2,3
print(value) # 返回值的结果为:(1,2,3)
print(type(value)) # 返回值的结果为:<class 'tuple'>
程序允许将序列(元组或列表等)直接赋值给多个变量,此时序列的各元素会被依次赋值给每个变量(要求序列的元素个数和变量的个数相等),这种功能被称为”序列解包“。可以使用序列解包功能对多个变量同时赋值。
a,b,c = 1,2,3
print(a,b,c) # 返回值的结果为:1 2 3
# 将元组的各个元素依次赋值给多个变量
tuple1 = (1,2,3)
a,b,c = tuple1
print(a,b,c) # 返回值的结果为:1 2 3
# 将列表的各个元素依次赋值给多个变量
list1 = [1,2,3]
a,b,c = list1
print(a,b,c) # 返回值的结果为:1 2 3
806

被折叠的 条评论
为什么被折叠?



