元组是Python中另一个重要的序列结构,与列表类似,也是由一系列按特定顺序排列的元素组成。但是,它为不可变序列。
一.元组的创建和删除
①使用赋值运算符直接创建元组
(1)语法形式
tuplename = (element 1, element 2, element 3,...,element n)
tuple:表示元组的名称
element:表示元组的元素
(2)举例
num = (7, 14, 21, 28, 35, 42, 49)
python = ("优雅", "明确", "简单")
②创建空元组
emptyname = ()
③创建数值元组
在Python中,可以使用tuple()函数直接将range()函数循环出来的结果转换为数值元组
(1)语法形式
tuple = (data)
data:表示可以转换为元组的数据,其类型可以是range对象、字符串、元组或者其他可以迭代类型的数据
(2)举例
tuple(range(10,20,2))
得到结果为:
(10,12,14,16,18)
④删除元组
(1)语法形式
del tuplename
(2)举例
num = (1,2,3,4,5)
del num
(del语句在实际开发中并不常用,因为Python自带的垃圾回收机制会自动销毁不用的元组,所以即使我们不手动删除它们,Python也会自动删除)
二.访问元组元素
想输出元组的内容,可以直接使用print()函数
print(tuplename)
此外,元组还可以使用for循环和enumerate()函数的结合来遍历。
# -- coding: utf-8 --
print(" 长歌行")
verse = ("青青园中葵", "朝露待日晞", "阳春布德泽", "万物生光辉")
for index, item in enumerate(verse):
if index % 2 == 0:
print(item+",", end='')
else:
print(item+"。")
三.修改元组
元组是不可变序列,所以我们不能对它的单个元素值进行修改,但是我们可以对元组进行重新赋值。
# -- coding: utf-8 --
verse = ("青青园中葵", "朝露待日晞", "阳春布德泽", "万物生光辉")
verse = ("青青园中葵", "朝露待日晞", "阳春布德泽", "万物生光辉", "老大徒伤悲")
print("新元组:", verse)
四.元组推导式
(1)语法形式
import random
randomnumber = (random.randint(10,100) for i in range(10))
print("生成的元组为" ,randomnuber)
(2)举例
import random
randomnumber = (random.randint(10, 100) for i in range(10))
randomnumber = tuple(randomnumber)
print("转换后:", randomnumber)
五.元组与列表的区别
元组 | 列表 |
---|---|
不可变序列 | 可变序列 |
不能添加新的元素和修改元素 | 可以使用append(),remove()等方法来修改元素 |
只支持切片访问元组的元素 | 既可以使用切片访问元素,又可以修改元素 |
访问速度快 | 访问速度慢 |
可以作为字典的键 | 不能作为字典的键 |