前言

学习元组还是离不开列表,如果你还没有研究过列表,可以点击跳转到之前的文章:【python百炼成魔】python之列表详解

学习完列表再回来看元组的内容,会对你学习元组有很大的帮助。

文章目录

  • 前言
  • 元组的概念
  • 元组的创建
  • 为什么要将元组设置为不可变序列
  • 读取元组中的元素
  • 元组的其他操作
  • 总结

元组的概念

元组的英文tuple,这个单词需要记得很熟。

元组也是python的内置数据结构之一,是一个不可变序列。它是由一组逗号分隔的值组成,通常用圆括号进行包围。元组的特点是一旦创建就不可修改,即元组的值是不可变的。

  • 常见的不可变序列: 字符串,元组, 没有增删改的操作
  • 常见的可变序列: 列表,字典

列表的元素可以修改,而元组的元素不可以修改,所以元组又成为不可变列表。

虽然元组不可以修改,但可以查询: 元组可以包含不同类型的元素,如整数、浮点数、字符串等。元组可以通过索引访问其中的元素,索引从0开始,并且支持负数索引,表示从元组末尾开始逆向索引。

元组的主要用途是将相关的值组合在一起,可以作为函数的返回值或者用于多个值的赋值操作。另外,元组也可以用作字典的键,因为字典的键必须是不可变的类型。

元组的创建

使用逗号分隔的值,可选地使用圆括号进行包围。

  1. 直接使用小括号来创建
    t=('python','hello',100)

  2. 使用内置函数tuple()来创建

t=tuple(('i','love','python','mufenggorw'))print(t)
  1. 空元组创建方式

t=()
t=tuple()

创建案例:

my_tuple = 1, 2, 3# 不使用圆括号,逗号分隔的值创建元组print(my_tuple)# 输出: (1, 2, 3)another_tuple = (4, 5, 6)# 使用圆括号创建元组print(another_tuple)# 输出: (4, 5, 6)

注意,如果要创建只包含一个元素的元组,需要在这个元素后面加个,

single_tuple = (1,)# 创建一个只包含一个元素的元组print(single_tuple)# 输出: (1)print(type(single_tuple))

为什么要将元组设置为不可变序列

  • 在多任务环境下,同时操作对象时候不需要加锁
  • 提高效率: 元组相较于列表对存储和处理的效率更高,特别是在处理大量数据的时候,可以节省系统资源
  • 确保数据安全:元组的不可变性,提供了数据的稳定性和安全性,避免了在某些情况下,数据被错误或恶意更改的风险。
  • 字典键的需求:Python的字典类型需要其键值(key)是不可变的,元组作为不可变类型可以被用作字典中的键。
  • 元素的唯一性与位置性:元组有序,元素之间的位置关系与元素的具体数据都是固定的,这使得元组在处理某些固定模式的数据时更加方便,例如在分解序列或者解包函数返回值的时候。

读取元组中的元素

元组作为可迭代对象,我们可以使用for in 进行遍历。

方法一: 在知道多少个元素的情况下使用下标遍历

t=tuple(('i','love','python','mufenggorw'))print(t[0])print(t[1])print(t[2])print(t[3])# print(t[4]) 一共0-3 四个元素,这个超出范围会报错

方法二: 使用for in 遍历

t=tuple(('i','love','python','mufenggorw'))for item in t:print(item)

元组的其他操作

  • 元组可以进行切片操作。
  • 列表中不涉及修改元素的方法都可用于元组,如len()函数、count()函数等。
  • 如果列表方法会对元素进行修改,那就不可用于元组,如append()函数、insert()函数等。
# 定义一个元组fruits = ("apple", "banana", "cherry", "apple", "cherry")# 使用len()函数计算元组的长度length = len(fruits)print('Length of the tuple: ', length)# 使用count()函数计算特定元素在元组中的出现次数apple_count = fruits.count("apple")print('Count of apple: ', apple_count)# 切片操作,获得元组的部分元素slice_fruits = fruits[1:3]print('Slice of the tuple: ', slice_fruits)

除此之外,还有一些其他的函数(只要不涉及到修改元素),可以与元组一起结合使用:

  • max(tuple): 返回元组中最大的元素。
    示例:
 numbers = (1, 2, 3, 4, 5) print('Max value: ', max(numbers))# 输出:Max value: 5
  • min(tuple): 返回元组中最小的元素。
    示例:
 numbers = (1, 2, 3, 4, 5) print('Min value: ', min(numbers))# 输出:Min value: 1
  • sum(tuple): 返回元组中所有元素的总和(只适用于数值类型的元组)。
    示例:
 numbers = (1, 2, 3, 4, 5) print('Sum of all numbers: ', sum(numbers))# 输出:Sum of all numbers: 15
  • sorted(tuple): 返回元组元素的排序列表。
    示例:
 numbers = (5, 2, 3, 1, 4) print('Sorted tuple: ', sorted(numbers))# 输出:Sorted tuple: [1, 2, 3, 4, 5]
  • any(tuple): 若元组中存在任何真值返回True,否则返回False。
    示例:
 values = (False, False, True, False) print('Any true in tuple: ', any(values))# 输出:Any true in tuple: True
  • all(tuple): 若所有元组元素为真值返回True,否则返回False。
    示例:
 values = (True, True, True, True) print('All true in tuple: ', all(values))# 输出:All true in tuple: True

以上函数中,max()、min()、sum()只有在元组的元素是可比较的或者是数值类型的时候才能使用。sorted()函数返回的是一个列表,而不是元组。

总结

我是沐风晓月,我在csdn等你

原创不易,还希望各位大佬支持一下\textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下

点赞,你的认可是我创作的动力!\textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!\textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!\textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!