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.为什么需要元组

主要原因如下:

  • 元组占用的空间较小
  • 你不会意外修改元组的值
  • 可以将元组用作字典的键
  • 函数的参数是以元组形式传递的
目录
相关文章
|
3月前
|
人工智能 前端开发 数据处理
如何将Python元组转换为列表
本文介绍了在Python中将元组转换为列表的方法。通过内置的`list()`函数,可以轻松地将一个元组转换为列表。此外,文章还提供了如何使用列表推导式和`itertools.chain()`方法将包含多个元组的列表展平为单一列表的示例。这些方法对于数据处理和转换非常实用,能够帮助开发者高效操作序列类型数据。文中附有代码实例及输出结果,便于理解与实践。
|
6月前
|
存储 人工智能 索引
Python数据结构:列表、元组、字典、集合
Python 中的列表、元组、字典和集合是常用数据结构。列表(List)是有序可变集合,支持增删改查操作;元组(Tuple)与列表类似但不可变,适合存储固定数据;字典(Dictionary)以键值对形式存储,无序可变,便于快速查找和修改;集合(Set)为无序不重复集合,支持高效集合运算如并集、交集等。根据需求选择合适的数据结构,可提升代码效率与可读性。
|
7月前
|
安全 数据处理 索引
深入探讨 Python 列表与元组:操作技巧、性能特性与适用场景
Python 列表和元组是两种强大且常用的数据结构,各自具有独特的特性和适用场景。通过对它们的深入理解和熟练应用,可以显著提高编程效率和代码质量。无论是在数据处理、函数参数传递还是多线程环境中,合理选择和使用列表与元组都能够使得代码更加简洁、高效和安全。
165 9
WK
|
11月前
|
Python
python元组与列表的转换
在 Python 中,元组(tuple)和列表(list)是两种常用的数据结构,它们之间可以相互转换
WK
356 9
WK
|
11月前
|
Python
Python创建元组
必须在这个元素后面加上一个逗号,否则 Python 会把它当作一个普通的带圆括号的表达式而不是元组
WK
155 4
WK
|
11月前
|
数据处理 Python
Python空元组作用有哪些
空元组在Python中可能不像包含元素的元组那样直接用于数据处理,但它们仍然可以在多种情境下发挥重要作用
WK
145 2
|
11月前
|
存储 缓存 Python
解密 Python 元组的实现原理
解密 Python 元组的实现原理
195 4
|
11月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
174 0
|
存储 缓存 索引
python 的 tuple(元组) 是不是冗余设计?
python 的 tuple(元组) 是不是冗余设计?
201 4
|
11月前
|
存储 JSON 数据处理
分析、总结Python使用列表、元组、字典的场景
分析、总结Python使用列表、元组、字典的场景
236 0

热门文章

最新文章

推荐镜像

更多