10. Python 数据类型之元组

AI 概述
1. 简介1.1 定义1.2 元组与列表的区别1.3 特殊的元组1.4 元组的简写2. 常见运算操作2.1 运算符 +2.2 运算符 *2.4 索引 []2.5 索引 [:]2.6 关键字 in3. 常见函数3.1 len(元组) 函数3.2 max(元组) 函数3.3 min(元组) 函数4. 常见方法4.1 只有列表才支持的方法4.2 index(item) 方法5. 小结 元组是一个和列...
目录
文章目录隐藏
  1. 1. 简介
  2. 2. 常见运算操作
  3. 3. 常见函数
  4. 4. 常见方法
  5. 5. 小结

元组是一个和列表和相似的数据类型,两者拥有着基本相同的特性,但是也有很多不同的地方,这节课我们来详细的介绍下元组这个数据类型

1. 简介

1.1 定义

元组是一个有序的只读序列,元组中所有的元素放在 () 中间,并用逗号分开,例如:

  • (1, 2, 3),一个包含 3 个整数的元组
  • (‘a’, ‘b’, ‘c’),一个包含 3 个字符串的元组

1.2 元组与列表的区别

元组与列表很相似,都是有序的只读序列,两者有相同的方法和操作运算,它们的区别在于:

  • 列表创建后,可以进行修改
  • 元组创建后,不能进行修改

修改列表的示例如下:

>>> x = [1, 2, 3]
>>> x[0] = 11
>>> x
[11, 2, 3]
  • 在第 1 行,创建了列表 x
  • 在第 2 行,修改列表 x 的第 0 项元素
  • 在第 3 行,显示修改后的列表
  • 在第 4 行,结果表示修改成功了

修改元组的示例如下:

>>> y = (1, 2, 3)
>>> y[0] = 11
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> y
(1, 2, 3)
  • 在第 1 行,创建了元组 y
  • 在第 2 行,修改元组 y 的第 0 项元素
  • 在第 3 行,提示出现 TypeError,因为 ‘tuple’ object does not support item assignment,所以无法修改
  • 在第 6 行,显示元组 y
  • 在第 7 行,结果表示元组 y 没有被修改

1.3 特殊的元组

如果一个元组没有包含任何元素,使用 () 表示一个空元组,例子如下:

>>> t = ()
>>> t
()

如果一个元组只包含了一个元素 item,需要在元素后加一个逗号,使用(item, )表示该元组,例子如下:

>>> t = (123, )
>>> t
(123,)

注意,(123, ) 和 (123) 两者表示不同的含义:

  • (123, ) 表示的是一个元组,元组中包含一个整数 123
  • (123) 表示的是一个带括号的表达式,整数 123 嵌入括号中

两者是不相同的,示例如下:

>>> t = (123, )
>>> i = (123)
>>> t == 123
False
>>> i == 123
True
  • 在第 3 行,将元组(123,) 与整数 123 比较,结果为假
  • 在第 5 行,将表达式(123) 与整数 123 比较,结果为真

1.4 元组的简写

当元组作在赋值操作符 = 的右边时,可以省略括号,示例如下:

>>> t = 123, 456
>>> t
(123, 456)
>>> x = 123,
>>> x
(123, )
  • 在第 1 行,创建了元组 (123, 456)
  • 在第 4 行,创建了元组 (123,)

2. 常见运算操作

本节介绍对元组的最常见的几种运算操作,包括:

2.1 运算符 +

使用运算符 + 连接两个元组,示例如下:

>>> (1, 2) + (3, 4)
(1, 2, 3, 4)
>>> (1, 2) + (3, 4) + (5, 6)
(1, 2, 3, 4, 5, 6)
  • 在第 1 行,使用运算符 + 连接两个元组
  • 在第 3 行,使用运算符 + 连接多个元组

2.2 运算符 *

使用运算符 * 将元组的元素重复,示例如下:

>>> (1, 2) * 2
(1, 2, 1, 2)
>>> (1,2) * 3
(1, 2, 1, 2, 1, 2)
  • 在第 1 行,使用运算符 * 将字符串重复两次
  • 在第 3 行,使用运算符 + 将字符串重复三次

2.4 索引 []

通过索引 [] 获取元组中指定位置的元素,示例如下:

>>> x = ('www', 'mybj123', 'com')
>>> x[0]
'www'
>>> x[1]
'mybj123'
>>> x[2]
'com'
  • 在第 2 行,获取元组 x 的第 0 个元素 ‘www’
  • 在第 4 行,获取元组 x 的第 1 个元素 ‘mybj123’
  • 在第 6 行,获取元组 x 的第 2 个元素 ‘com’

2.5 索引 [:]

在 Python 中,使用语法 元组[start:end],获取元组 元组 中在 [start, end) 范围的子字符串。注意范围 [start, end) 包含 start,不包含 end。举例如下:

>>> x = ('www', 'mybj123', 'com')
>>> x[1]
'mybj123'
>>> x[2]
'com'
>>> x[1:3]
['mybj123', 'com']
  • 在第 2 行,获取元组 x 的第 1 个元素 ‘mybj123’
  • 在第 4 行,获取元组 x 的第 2 个元素 ‘com’
  • 在第 6 行,获取元组 x 中从 1 开始、到 3 结束的元组 (‘mybj123’, ‘com’),使用 x[1:3] 表示该范围,注意该范围包括字符串的第 1 个元素、不包括第 3 个元素。

2.6 关键字 in

通过关键字 in 检查元组中是否包含指定元素,示例如下:

>>> 'mybj123' in ('www', 'mybj123', 'com')
True
>>> 'mybj' in ('www', 'mybj123', 'com')
False
  • 在第 1 行,检测字符串 ‘mybj123’ 在元组中
  • 在第 3 行,检测字符串 ‘mybj’ 不在元组中

3. 常见函数

3.1 len(元组) 函数

使用函数 len 获取元组的长度,示例如下:

>>> len((1, 2, 3))
3
>>> len((1, 2, 3, 4))
4

3.2 max(元组) 函数

使用函数 max 获取元组中最大的元素,示例如下:

>>> max((1, 2))
2
>>> max((1, 3, 2))
3

3.3 min(元组) 函数

使用函数 min 获取元组中最小的元素,示例如下:

>>> min((1, 2))
1
>>> min((1, 3, 2))
1

4. 常见方法

4.1 只有列表才支持的方法

元组与列表很相似,两者都表示一个有序的序列,它们的区别在于:

  • 列表创建后,可以进行修改
  • 元组创建后,不能进行修改

因为元组不能修改,以下方法需要对列表进行修改,因此只有列表才提供:

  • append(item) 方法,向列表中新增一个元素 item
  • insert(index, item) 方法,用于将元素 item 插入列表的指定位置
  • pop() 方法,从列表的尾部取走一个元素
  • remove(item) 方法,从列表中删除指定元素 item
  • reverse() 方法,将列表中元素倒序排列
  • sort() 方法,对列表中元素进行排序

4.2 index(item) 方法

index(item) 方法在元组中查找指定元素 item,如果找到元素 item,则返回元素 item 的索引;如果找不到,则抛出异常。示例如下:

>>> x = ('www', 'mybj123', 'com')
>>> x.index('mybj123')
1
>>> x.index('mybj')
Traceback (most recent call last):
  File "", line 1, in 
ValueError: 'mybj' is not in tuple
  • 在第 2 行,在元组中使用 index 方法查找元素 ‘mybj123’
  • 在第 3 行,显示元素 ‘mybj123’ 在元组中的索引是 1
  • 在第 4 行,在元组中使用 index 方法查找元素 ‘mybj’
  • 在第 5 行,因为元组中没有包含元素 ‘mybj’,显示错误 “ValueError: ‘mybj’ is not in tuple”

5. 小结

一定要注意元组和列表的不同之处。一定要注意元组和列表的不同之处。一定要注意元组和列表的不同之处。重要的事情说三遍。元组一般适合用来存储不变的数据,例如学生的基本信息,例如地图坐标信息等等。

以上关于10. Python 数据类型之元组的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 10. Python 数据类型之元组

发表回复