Python入门教程第29篇 元组

Posted 不剪发的Tony老师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python入门教程第29篇 元组相关的知识,希望对你有一定的参考价值。

本篇我们来学习一下 Python 中的元组(tuple),元组是一种不可改变的列表。

元组简介

有时候我们想要创建一种特殊的列表,它的元素在程序运行时不可改变。此时,我们可以使用元组数据类型。

Python 将不可改变的数据称为不可变数据,例如数字、字符串等。按照定义,元组是一种不可变列表。

定义元组

元组的定义和列表类似,区别在于它使用圆括号(())而不是方括号。

以下示例创建了一个元组 rgb:

rgb = ('red', 'green', 'blue')

创建元组之后,我们可以通过下标访问它的元素。例如:

rgb = ('red', 'green', 'blue')

print(rgb[0])
print(rgb[1])
print(rgb[2])

输出结果如下:

red
green
blue

由于元组的不可变性,我们不能改变它的元素值。以下示例尝试将元组 rgb 的第一个值修改为“yellow”:

rgb = ('red', 'green', 'blue')
rgb[0] = 'yellow'

以上代码将会返回错误:

TypeError: 'tuple' object does not support item assignment

另外,我们也不能增加或者删除元组中的元素。例如:

rgb = ('red', 'green', 'blue')
rgb.append('yellow')
AttributeError: 'tuple' object has no attribute 'append'

包含单个元素的元组

如果想要定义只有一个元素的元组,我们需要在元素之后增加一个逗号。例如:

numbers = (3,)
print(type(numbers))

输出结果如下:

<class 'tuple'>

如果忽略了元素后面的逗号,numbers 的类型将会是 int,也就是整数,并且整数的值为 3。此时 Python 不会创建一个包含数字 3 的元组:

numbers = (3)
print(type(numbers))

输出结果如下:

<class 'int'>

将元组赋予变量

虽然我们不能改变元组中的元素值,但是可以将一个新的元组赋予引用元组的变量。例如:

colors = ('red', 'green', 'blue')
print(colors)
('red', 'green', 'blue')

colors = ('Cyan', 'Magenta', 'Yellow', 'black')
print(colors)
('Cyan', 'Magenta', 'Yellow', 'black')

总结

  • 元组是一种不可变列表。
  • 元组中元素的值和数量不可变。

以上是关于Python入门教程第29篇 元组的主要内容,如果未能解决你的问题,请参考以下文章

Python入门教程第37篇 map()函数

Python入门教程第43篇 集合

《python基础教程》第2章列表和元组 读书笔记

python入门学习-列表和元组

读书笔记--《Python基础教程第二版》--第2章列表和元组

python基础教程-第二章-列表和元组