Python3 元组tuple入门基础

  • Post category:Python

Python3元组tuple入门基础

什么是元组tuple?

元组是Python programming language中非常常用的一种数据类型。元组使用小括号()表示,其中的元素用逗号,隔开。

元组和列表非常相似,但是有一些重要区别:

  • 元组是不可变的,意味着不能对元组中的元素进行修改、删除和添加。
  • 元组初始化后不能修改。

创建元组

可以通过以下两种方式来创建元组:

  1. 使用小括号()
# 创建一个空元组
empty_tuple = ()

# 创建一个只包含一个元素的元组
one_element_tuple = (1,)

# 创建一个包含多个元素的元组
multiple_elements_tuple = (1, 2, 3, 4, 5)
  1. 不使用小括号()
# 创建一个只包含一个元素的元组
one_element_tuple = 1,

# 创建一个包含多个元素的元组
multiple_elements_tuple = 1, 2, 3, 4, 5

访问元组中的元素

可以使用下标来访问元组中的元素,下标从0开始。例如,要访问元组中的第一个元素,可以使用元组名和下标0:

tuple1 = ('apple', 'banana', 'cherry')
print(tuple1[0])

输出结果是:

apple

切片操作

切片操作可以用来获取元素的一个子集,格式如下:

tuple[start:stop:step]
  • start:开始下标(包含该元素)
  • stop:结束下标(不包含该元素)
  • step:步长

注意:当省略 start 或 stop 时,表示从开始或到结束。

示例代码:

tuple1 = ('apple', 'banana', 'cherry', 'orange', 'kiwi', 'melon', 'mango')
print(tuple1[:4]) # ('apple', 'banana', 'cherry', 'orange')
print(tuple1[2:5]) # ('cherry', 'orange', 'kiwi')
print(tuple1[::2]) # ('apple', 'cherry', 'kiwi', 'mango')

修改元组

元组是不可变的,所以无法直接修改元组中元素的值。但是可以通过以下方式来对元组进行操作:

  1. 将元组转换为列表,修改列表,然后再转换回元组。
tuple1 = (1, 2, 3)
list1 = list(tuple1)
list1[2] = 4
tuple2 = tuple(list1)
print(tuple2) # (1, 2, 4)
  1. 使用加号 + 连接两个元组,生成一个新的元组。
tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
tuple3 = tuple1 + tuple2
print(tuple3) # (1, 2, 3, 4, 5, 6)

删除元组

由于元组是不可变的,因此不能直接删除元组中的元素。但是可以通过 del 语句来删除元组本身。

tuple1 = (1, 2, 3)
del tuple1
print(tuple1) # NameError: name 'tuple1' is not defined

示例说明

示例1:使用元组存储商品信息

# 创建一个包含商品信息的元组
item = ('apple', 2.50, 'fruit')

# 打印商品类型
print('商品类型:', item[2])

# 将元组转换为列表
list1 = list(item)

# 修改商品价格
list1[1] = 2.00

# 将列表转换为元组
item = tuple(list1)

# 打印商品价格
print('商品价格:', item[1])

输出结果:

商品类型: fruit
商品价格: 2.0

示例2:使用元组存储学生信息

# 创建一个包含学生信息的元组
student = ('Tom', 18, 'male', ['math', 'English', 'computer'])

# 打印学生选课信息
print('Tom选的课程:', student[3])

# 修改学生年龄
student = student[0], 20, *student[2:]

# 打印学生信息
print('修改后的学生信息:', student)

输出结果:

Tom选的课程: ['math', 'English', 'computer']
修改后的学生信息: ('Tom', 20, 'male', ['math', 'English', 'computer'])