Python数据类型中的元组Tuple

  • Post category:Python

Python数据类型中的元组Tuple

定义

元组(Tuple)是另一个数据类型,类似于 List(列表)。元组用 () 创建,其内部的元素用逗号隔开。元组中的元素可以是不同的数据类型,但是也是有序的。

# 定义元组
tup = ('apple', 'banana', 'orange')

访问元素

我们通常使用方括号 [] 来访问元组中的元素。最开始的元素的索引值是 0,以此类推。

print(tup[0])   #输出:apple
print(tup[1:])   #输出:('banana', 'orange')

元组中的修改和删除

元组是不可变的,也就是说,你不能添加或删除元素。但是我们可以修改元组中的元素。对元素的修改,首先需要将其转换为列表,然后才能进行后续操作。

lst = list(tup)    # 将元组转换为列表
lst[0] = 'grape'   # 修改列表中的元素
tup = tuple(lst)   # 将列表转换回元组
print(tup)  #输出:('grape', 'banana', 'orange')

元组中的切片

元组的切片操作与列表相似,可以对元素进行筛选。

print(tup[:2]) #输出:('grape', 'banana')

元组相关操作

序列操作

元组与列表的操作几乎一样,好比它是不可变的列表,所以它也可以完成序列中的操作。

tpl1 = ('apple', 'banana', 'orange')
tpl2 = ('grape', 'pear', 'watermelon')
print(tpl1 + tpl2)       # 输出:('apple', 'banana', 'orange', 'grape', 'pear', 'watermelon')
print(tpl1 * 2)          # 输出:('apple', 'banana', 'orange', 'apple', 'banana', 'orange')
print('banana' in tpl1)  # 输出:True

内置方法

元组内置了一些方法,如 count()index()

# 演示 count()
tpl3 = ('apple', 'banana', 'apple', 'orange', 'apple')
print(tpl3.count('apple')) # 输出:3

# 演示 index()
print(tpl3.index('orange'))    # 输出:3

元组的优点

元组是不可变的,因此元组的访问速度要比列表快得多。此外,元组不可变,因此它们比列表更安全。

示例

元组用于多返回值的函数

def get_user_info():
    name = 'Alex'
    age = 30
    address = 'China'
    return name, age, address

info = get_user_info()    # 返回的是一个元组
name, age, address = info  # 解包元组,将元素赋值给变量
print(name, age, address)

元组用于交换变量的值

a = 2
b = 5
a, b = b, a
print(a, b)   # 输出:5 2