小码哥的IT人生

Python 元组

Python基础 2022-06-06 12:52:50小码哥的IT人生shichen

Python 元组

元组(Tuple)

元组是有序且不可更改的集合。在 Python 中,元组是用圆括号编写的。

示例代码:

创建元组:

thistuple = ("apple", "banana", "cherry")
print(thistuple)

完整实例:

thistuple = ("apple", "banana", "cherry")
print(thistuple)

访问元组项目

您可以通过引用方括号内的索引号来访问元组项目:

示例代码:

打印元组中的第二个项目:

thistuple = ("apple", "banana", "cherry")
print(thistuple[1])

完整实例:

thistuple = ("apple", "banana", "cherry")
print(thistuple[1])

负索引

负索引表示从末尾开始,-1 表示最后一个项目,-2 表示倒数第二个项目,依此类推。

示例代码:

打印元组的最后一个项目:

thistuple = ("apple", "banana", "cherry")
print(thistuple[-1])

完整实例:

thistuple = ("apple", "banana", "cherry")
print(thistuple[-1])

索引范围

您可以通过指定范围的起点和终点来指定索引范围。

指定范围后,返回值将是带有指定项目的新元组。

示例代码:

返回第三、第四、第五个项目:

thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[2:5])

完整实例:

thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[2:5])
#This will return the items from position 2 to 5.
#Remember that the first item is position 0,
#and note that the item in position 5 is NOT included

注释:搜索将从索引 2(包括)开始,到索引 5(不包括)结束。

请记住,第一项的索引为 0。

负索引范围

如果要从元组的末尾开始搜索,请指定负索引:

示例代码:

此例将返回从索引 -4(包括)到索引 -1(排除)的项目:

thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[-4:-1])

完整实例:

thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[-4:-1])
#Negative indexing means starting from the end of the tuple.
#This example returns the items from index -4 (included) to index -1 (excluded)
#Remember that the last item has the index -1,

更改元组值

创建元组后,您将无法更改其值。元组是不可变的,或者也称为恒定的。

但是有一种解决方法。您可以将元组转换为列表,更改列表,然后将列表转换回元组。

示例代码:

把元组转换为列表即可进行更改:

x = ("apple", "banana", "cherry")
y = list(x)
y[1] = "kiwi"
x = tuple(y)
print(x)

完整实例:

x = ("apple", "banana", "cherry")
y = list(x)
y[1] = "kiwi"
x = tuple(y)
print(x)

遍历元组

您可以使用 for 循环遍历元组项目。

示例代码:

遍历项目并打印值:

thistuple = ("apple", "banana", "cherry")
for x in thistuple:
  print(x)

完整实例:

thistuple = ("apple", "banana", "cherry")
for x in thistuple:
  print(x)

您将在 Python For 循环 这一章中学习有关 for 循环的更多知识。

检查项目是否存在

要确定元组中是否存在指定的项,请使用 in 关键字:

示例代码:

检查元组中是否存在 "apple":

thistuple = ("apple", "banana", "cherry")
if "apple" in thistuple:
  print("Yes, 'apple' is in the fruits tuple")

完整实例:

thistuple = ("apple", "banana", "cherry")
if "apple" in thistuple:
  print("Yes, 'apple' is in the fruits tuple")

元组长度

要确定元组有多少项,请使用 len() 方法:

示例代码:

打印元组中的项目数量:

thistuple = ("apple", "banana", "cherry")
print(len(thistuple))

完整实例:

thistuple = ("apple", "banana", "cherry")
print(len(thistuple))

添加项目

元组一旦创建,您就无法向其添加项目。元组是不可改变的。

示例代码:

您无法向元组添加项目:

thistuple = ("apple", "banana", "cherry")
thistuple[3] = "orange" # 会引发错误
print(thistuple)

完整实例:

thistuple = ("apple", "banana", "cherry")
thistuple[3] = "orange" # This will raise an error
print(thistuple)

创建有一个项目的元组

如需创建仅包含一个项目的元组,您必须在该项目后添加一个逗号,否则 Python 无法将变量识别为元组。

示例代码:

单项元组,别忘了逗号:

thistuple = ("apple",)
print(type(thistuple))
#不是元组
thistuple = ("apple")
print(type(thistuple))

完整实例:

thistuple = ("apple",)
print(type(thistuple))
#NOT a tuple
thistuple = ("apple")
print(type(thistuple))

删除项目

注释:您无法删除元组中的项目。

元组是不可更改的,因此您无法从中删除项目,但您可以完全删除元组:

示例代码:

del 关键字可以完全删除元组:

thistuple = ("apple", "banana", "cherry")
del thistuple
print(thistuple) # 这会引发错误,因为元组已不存在。

完整实例:

thistuple = ("apple", "banana", "cherry")
del thistuple
print(thistuple) #this will raise an error because the tuple no longer exists

合并两个元组

如需连接两个或多个元组,您可以使用 + 运算符:

示例代码:

合并这个元组:

tuple1 = ("a", "b" , "c")
tuple2 = (1, 2, 3)
tuple3 = tuple1 + tuple2
print(tuple3)

完整实例:

tuple1 = ("a", "b" , "c")
tuple2 = (1, 2, 3)
tuple3 = tuple1 + tuple2
print(tuple3)

tuple() 构造函数

也可以使用 tuple() 构造函数来创建元组。

示例代码:

使用 tuple() 方法来创建元组:

thistuple = tuple(("apple", "banana", "cherry")) # 请注意双括号
print(thistuple)

完整实例:

thistuple = tuple(("apple", "banana", "cherry"))
print(thistuple)

元组方法

Python 提供两个可以在元组上使用的内建方法。

方法 描述
count() 返回元组中指定值出现的次数。
index() 在元组中搜索指定的值并返回它被找到的位置。

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024