元组与列表类似,不同之处在于元组的元素不能修改,元组使用圆括号,列表使用方括号
示例
aTuple = (123,"Alice",456) # 创建元组
print(aTuple)
运行结果:
可以通过引用方括号内的索引号来访问元组项目
示例
aTuple = (123,"Alice",456)
print(aTuple[0])
print(aTuple[1])
运行结果:
负索引表示从末尾开始,-1 表示最后一个项目,-2 表示倒数第二个项目,依此类推
示例
aTuple = (123,"Alice",456)
print(aTuple[-1]) # 打印元组的最后一个项目
运行结果:
可以通过指定范围的起点和终点来指定索引范围。指定范围后,返回值将是带有指定项目的新元组。范围区间为左闭右开
示例
aTuple = (123,"Alice",456,789,"Bob")
print(aTuple[1:4]) # 搜索将从索引 1(包括)开始,到索引 4(不包括)结束
运行结果:
如果要从元组的末尾开始搜索,可以使用负索引
示例
aTuple = (123,"Alice",456,789,"Bob")
print(aTuple[-5:-2]) # 返回从索引 -5(包括)到索引 -2(不包括)的项目
运行结果:
python中不允许修改元组的数据,包括不能添加和删除其中的元组。创建元组后,将无法更改其值,元组是不可变的
示例
aTuple = (123,"Alice",456,789,"Bob")
aTuple[1] = 100
print(aTuple)
运行结果:
但有一种解决方法是可以将元组转换为列表,更改列表,然后将列表转换回元组
aTuple = (123,"Alice",456,789,"Bob")
aList = list(aTuple)
aList[1] = "100"
aTuple = tuple(aList)
print(aTuple)
运行结果:
注:
list() 用于创建一个新列表
示例
aList = list((123,"Alice",456,789,"Bob"))
print(aList)
运行结果:
tuple() 用于创建元组
示例
aTuple = tuple([123,"Alice",456,789,"Bob"])
print(aTuple)
运行结果:
可以使用 for 循环遍历元组项目
示例
aTuple = (123,"Alice",456,789,"Bob")
for i in aTuple:
print(i)
运行结果:
也可以使用 while 循环
示例
aTuple = (123,"Alice",456,789,"Bob")
length = len(aTuple) # 使用 len() 方法可以确定元组有多少项
i = 0
while i<length:
print(aTuple[i])
i+=1
运行结果:
关键字 in , not in
• in(存在):如果存在,结果为True,否则为False
• not in(不存在):如果不存在,结果为True,否则为False
示例
aTuple = (123,"Alice",456,789,"Bob")
# 检查元组中是否存在数据 123
if 123 in aTuple:
print("找到咯")
else:
print("没找到")
运行结果:
in 和 not in 用法相同,区别在于 not in 判断的是不存在
index( ) 方法
index() 方法返回指定值首次出现的索引位置,如果没有找到对象则抛出异常,与字符串和列表中的用法相同
语法如下:
tuple.index(value, start, end)
参数含义:
value:必选参数。指定要检索的字符串
start:可选参数。开始查找的索引,默认为0
end:可选参数。结束查找的索引,默认为字符串的长度
注意:index()函数在查找时,start处的字符将会被检查,而end是结束检索的索引,所以end索引处的字符不会参与检查
示例
aTuple = (123,"Alice",456,789,"Bob")
print(aTuple.index(123)) # 查找 123 的索引位置
print(aTuple.index("Alice",1,3)) # 在索引1~3中查找 "Alice" 的索引位置
运行结果:
count( ) 方法
count() 方法用于统计某个元素在列表中出现的次数,与在列表中的用法相同
语法如下:
tuple.count(value)
参数含义:
value:必选参数。任何类型(字符串、数字、列表、元组等)要搜索的值
示例
aTuple = (123,"Alice",456,789,"Bob","Alice")
print(aTuple.count("Alice")) # # 返回"Alice" 在元组中出现的次数
运行结果: