Jquery中文网 www.jquerycn.cn
Jquery中文网 >  Python编程  >  Python入门  >  正文 三分钟读懂Python中的元组

三分钟读懂Python中的元组

发布时间:2021-05-27   编辑:www.jquerycn.cn
jquery中文网为您提供三分钟读懂Python中的元组等资源,欢迎您收藏本站,我们将为您提供最新的三分钟读懂Python中的元组资源

元组

我们发现列表和字符串有许多共同点,例如可以用索引来访问,以及切割的操作。他们属于序列类型的公共特性。Python 的日益发展,使得其他的序列类型会被逐渐地加入到语言特性中。其中就有另一种序列类型:元组。

元组由一系列被逗号分隔开的值组成,例如:

>>> t = 12345, 54321, 'hello!'
>>> t[0]
12345
>>> t
(12345, 54321, 'hello!')
>>> # 元组也可以嵌套:
... u = t, (1, 2, 3, 4, 5)
>>> u
((12345, 54321, 'hello!'), (1, 2, 3, 4, 5))
>>> # 元组不可被修改:
... t[0] = 88888
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> # 但是可以包含可以被修改的对象:
... v = ([1, 2, 3], [3, 2, 1])
>>> v
([1, 2, 3], [3, 2, 1])

正如你所见,元组在输出时总是带有两侧的括号,这样一来,嵌套的元组可以被清楚地区分开;但是在输入时,并不一定要带上两侧的括号,尽管有时带上括号非常有必要(例如元组作为一个很长的表达式的一部分)。不能对元组中的项进行赋值,但在创建元组时,可以传入可修改的对象,例如列表。

虽然元组看起来和列表很像,但它们的使用场合和使用目的往往不同。元组是 不可修改的,并且经常包含着不同类型的元素,总是通过解包(本章的后面会介绍)或索引(命名元组可以通过属性索引的方式)来访问。而列表是 可修改的,并且往往包含着同样类型的元素,通过遍历的方式来进行访问。

一个特别的问题是如何创建一个空的或只有一个元素的元组:语法上有一些小窍门。空的元组可以用一对空的括号来创建;只有一个元素的元组可以用一个后面跟着逗号的值来创建(只在括号里放一个元素可不行)。这些方法虽然有点丑陋,但挺好用的。例如:

>>> empty = ()
>>> singleton = 'hello',    # <-- 注意后面的逗号
>>> len(empty)
0
>>> len(singleton)
1
>>> singleton
('hello',)

语句 t = 12345, 54321, 'hello!' 是一个 元组解包的例子:元素 12345, 54321 和 'hello!' 一起组成了一个元组。下面这样的操作也同样可以做到:

>>> x, y, z = t

这被称为 序列解包 ,所有右值的序列都可以使用这种语法。序列解包要求在等号的左边有着和序列内元素数量相同的变量。到这里也许你也发现了,多重赋值就是利用元组和序列解包来实现的。

您可能感兴趣的文章:
三分钟读懂Python中的元组
Python 元组
python中time模块需要安装么
PyThon中time strftime()函数用法
巩固Python基础必学的22个语法
一篇文章搞定Python二级考试
Python partition() 方法
python自学用什么书
新手学python看哪本书
Python time strftime()方法

[关闭]