Python中的元组(第9节)


Python的元组列表相似,都是有序序列,在很多情况下可以相互替换,很多操作也类似,但它们也有区别:列表属于可变序列,它的元素可以随时修改或者删除,而元组属于不可变序列,其中的元素是不能修改的,除非整体重新赋值或者删除整个元组。

1、定义元组

元组的定义和列表相似,是由一组有序的值组成,可以包含任何类型的数据,甚至可以包含其他元组。元组使用小括号“()”来定义,各个元素之间用逗号“,”隔开,例如:

动手练一练:

# 定义元组
a = (4, 5, 6, 7)
b = (4,)
c = ("Python",)
d = ("World")
print(a)  # 输出 (4, 5, 6, 7)
print(b)  # 输出 (4,)
print(c)  # 输出 ('Python',)
print(d)  # 输出 字符串“World”

执行以上代码,输出结果为:

(4, 5, 6, 7)
(4,)
('Python',)
World

上面的例子中,如果元组只有一个元素,则这个元素后面必须有逗号“,”,才能定义为一个元组,否则元素就还是原来的类型。例子中的d变量是("World"),元素“World”后面没有加逗号“,”,会被Python定义为字符串,而不是元组。

2、删除元组

由于元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,例如:

动手练一练:

# 删除元组
a = (4, 5, 6, 7)
del a  # 删除整个元组
print(a)  # 输出错误提示:名称'a'未定义

执行以上代码,输出结果为:

NameError: name 'a' is not defined

上面的例子中,Python解释器会在输出的时候提示错误:“变量a未定义”,因为前面我们已经用del语句成功删除了整个元组。

3、元组的查询方法

虽然不能修改元组中的元素,但是元组和列表的查询方法基本相同。由于元组的不可变性,使得元组的查询速度比列表更快。

(1)index()方法

index()方法用来查找某个元素在元组中出现的位置(也就是索引),当元组中有多个同样的元素,索引值为第一个匹配的元素的位置,例如:

动手练一练:

a = ("Orange", "Apple", "Banana", "Apple", "Cherry")
print("Apple元素index结果为:", a.index("Apple"))  # 输出 Apple元素index结果为: 1
print("Banana元素index结果为:", a.index("Banana"))  # 输出 Banana元素index结果为: 2

执行以上代码,输出结果为:

Apple元素index结果为 1
Banana元素index结果为 2

(2)count()方法

count()方法用来统计某个元素在元组中出现的次数,例如:

动手练一练:

a = ("Orange", "Apple", "Banana", "Apple", "Cherry")
print("初始元组为:", a)
print("Apple出现的次数为:", a.count("Apple"), "次")  # 输出 Apple出现的次数为: 2 次
print("Python出现的次数为:", a.count("Python"), "次")  # 输出 Python出现的次数为: 0 次

执行以上代码,输出结果为:

初始元组为 ('Orange', 'Apple', 'Banana', 'Apple', 'Cherry')
Apple出现的次数为 2 
Python出现的次数为 0