Python 元组

简介: 除了两个方面,数据类型几乎与列表数据类型一样。首先,元组输入时用圆括号(),而不是用方括号[]元组与列表的主要区别还在于,元组像字符串一样,是。如果元组中只有一个值,你可以在括号内该值的后面跟上一个逗号,表明这种情况。否则,Python 将认为,你只是在一个普通括号内输入了一个值。逗号告诉 Python,这是一个元组(不像其他编程语言,Python 接受列表或元组中最后表项后面跟的逗号)。利用你可以用元组告诉所有读代码的人,你不打算改变这个序列的值。如果需要一个永远不会改变的值的序列,就使用元组。

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。
🍎个人主页:小嗷犬的博客
🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。
🥭本文内容:Python 元组
更多内容请见👇

除了两个方面,元组数据类型几乎与列表数据类型一样。

用圆括号()表示

首先,元组输入时用圆括号 (),而不是用方括号 []
tp = ('Python', 'Java', 'C')
print(tp)

不可变性

元组与列表的主要区别还在于,元组像字符串一样,是 不可变的。元组不能让它们的值被修改、添加或删除:
tp = ('Python', 'Java', 'C')
tp[1] = 'C++'
如果元组中只有一个值,你可以在括号内该值的后面跟上一个逗号,表明这种情况。否则,Python 将认为,你只是在一个普通括号内输入了一个值。逗号告诉 Python,这是一个元组(不像其他编程语言,Python 接受列表或元组中最后表项后面跟的逗号)。
a = ('Python')
print(type(a))
b = ('Python',)
print(type(b))
利用你可以用元组告诉所有读代码的人,你不打算改变这个序列的值。如果需要一个永远不会改变的值的序列,就使用元组。使用元组而不是列表的第二个好处在于,因为它们是不可变的,它们的内容不会变化,Python 可以实现一些 优化,让使用元组的代码比使用列表的代码更快。

1.创建元组

在 Python 中,创建列表通常用 tuple 函数或圆括号 ()。

1.1 tuple 函数

list()函数类似, tuple()可以将参数中的可迭代对象转换成元组:
a = tuple('Python')
print(a)
b = tuple(['Python', 'Java', 'C'])
print(b)

1.2 圆括号

使用圆括号 ()创建列表时,需要在列表中列出所有元素:
a = ('Python', 'Java', 'C')
print(a)
直接使用圆括号 ()将得到一个空的元组:
a = ()
print(a)

2.多重赋值

在 Python 中, 允许一次给多个变量赋值, 称为多重赋值。 可以使用元组和列表实现多重赋值:
a, b, c = ('Python', 'Java', 'C')
print(a, b, c, sep='\n')

3.元组特性

在列表操作中, 除了对列表进行原地修改的方法, 其他方法都可以应用在元组中, 例如索引、分片、连接和重复等,与列表不同的是,在元组中使用这些方法,会返回新的元组,而不是列表。

3.1 单个元素的元组

如果仅仅使用圆括号把一个值括起来, Python 会认为是表达式, 得到的不会是元组类型,而是值本身的类型:
a = (3.14)
print(type(a))
所以,如果确实希望得到一个包含单个元素的元组,需要在这一单个元素后面加上一个逗号,与表达式区分开来:
a = (3.14,)
print(type(a))

3.2 可以省略的圆括号

在不引起歧义的情况下,可以省略圆括号:
a = 'Python', 'Java', 'C'
print(type(a))

3.3 不可变性

不可变性也是元组和列表最大的区别。 如果试图修改元组的某个元素, 将会触发 TypeError 的异常:
a = ('Python', 'Java', 'C')
a[1] = 'C#'
元组的不可变性仅指的是不可以改变元组的顶层元素。如果元组中的元素本身是可变的,Python 允许修改其内容:
a = ('Python', ['Java', 'C'], 'Golang', 'C++')
a[1][1] = 'C#'
print(a)

4.为什么需要元组

主要原因如下:

  • 元组占用的空间较小
  • 你不会意外修改元组的值
  • 可以将元组用作字典的键
  • 函数的参数是以元组形式传递的
目录
相关文章
|
1月前
|
存储 索引 Python
Python学习笔记----列表、元组和字典的基础操作
这篇文章是一份Python学习笔记,涵盖了列表、元组和字典的基础操作,包括它们的创建、修改、删除、内置函数和方法等。
Python学习笔记----列表、元组和字典的基础操作
|
23天前
|
存储 缓存 索引
python 的 tuple(元组) 是不是冗余设计?
python 的 tuple(元组) 是不是冗余设计?
|
22天前
|
存储 Python
Python 中的列表和元组
【8月更文挑战第29天】
19 1
|
24天前
|
Python
Python多维列表(元组)合并成一维形式
Python多维列表(元组)合并成一维形式
14 2
|
28天前
|
存储 缓存 安全
Python元组之不可变序列的奥秘与应用方式
Python 中的元组(Tuple)是一种有序的、不可变的数据结构,它是序列的一种特殊形式,就像一个固定大小的盒子,一旦放入物品就无法更换或移除。 元组可以包含任何类型的数据,如数字、字符串甚至是其他元组。 相比列表,元组在很多场景下提供了更高效、安全的选择。
|
1月前
|
存储 索引 Python
五:《Python基础语法汇总》— 列表&元组&集合
本篇文章讲解了关于列表;元组和集合这三个基本数据类型的常用方法与函数。及同一性操作符;成员判断符;浅拷贝与深拷贝等多方面的知识点
24 4
|
1月前
|
存储 索引 Python
Python的元组是什么
【8月更文挑战第14天】元组是Python中有序且不可变的数据集合,用于存储多个项目的序列。一旦创建,元组内的元素不能被修改、添加或删除,确保了数据的安全性和可靠性。元组使用圆括号定义,元素间以逗号分隔。
23 5
|
1月前
|
存储 数据库 C++
"深入剖析Python元组(tuple):与列表的对比、特性解析及高效应用场景展示"
【8月更文挑战第9天】Python元组与列表虽均用于存储元素集合,但有本质差异。元组不可变,创建后无法修改,适合保护数据不被意外更改的场景,如作字典键或传递固定值。列表则可变,支持动态增删改,适用于需频繁调整的数据集。元组因不可变性而在性能上有优势,可用于快速查找。两者各有千秋,根据具体需求选择使用。例如,元组可用于表示坐标点或日期,而列表更适合管理用户列表或库存。
42 1
|
2月前
|
存储 缓存 测试技术
Python列表与元组
【7月更文挑战第26天】Python 中的列表(List)和元组(Tuple)是两种常用的数据结构,它们都可以用来存储一系列的元素。虽然它们在某些方面相似,但也有一些重要的区别。在本文中,我们将分享一些 Python 中列表和元组的操作技巧,帮助您更好地理解它们的用法和特性。
30 4
|
28天前
|
索引 Python
Python 中的元组
【8月更文挑战第23天】
23 0