小白学 Python(11):基础数据结构(元组)

人生苦短,我选Python
前文传送门
元组(tuple)
在 Python 中,元组和列表是非常类似的一种数据结构,如果前面有好好看过有关列表的文章的话,只需要抓住一些核心点,可能这篇文章会显得有些多余。

先简单介绍一下元组和列表的区别:
- 元组的元素不能修改
- 元组使用小括号,列表使用方括号
创建元组
用逗号隔开的就是元组,但是为了美观和代码可读性,一般加小括号。
tuple1 = "Python", "Java", 2011, 2015
print(tuple1)
tuple2 = ("Python", "Java", 2011, 2015)
print(tuple2)
print(type(tuple2))
执行结果如下:
('Python', 'Java', 2011, 2015)
('Python', 'Java', 2011, 2015)
<class 'tuple'>
在创建元组的时候可以包含列表,如下:
tuple3 = ("Python", "Java", [1 ,2, 'python', 'java'], 2011, 2015)
print(tuple3)
执行结果:
('Python', 'Java', [1, 2, 'python', 'java'], 2011, 2015)
元组的基本操作
元组的基本操作和列表非常的类似,包括:
- 索引
- 切片
- 连接
- 复制
- 对内部元素循环
- 查找元组中是否有某元素
- 删除元组
- 返回元组中最大值和最小值
- 获取元组长度
这么多操作,我就不分开展示了,直接贴一段代码,具体含义已经加在注释中:
tuple4 = (0 ,1, 2, 3, 4, 5, 6, 7, 8, 9)
print(tuple4)
# 索引
print(tuple4[2])
# 索引
print(tuple4[-2])
# 切片
print(tuple4[0:8:2])
# 切片
print(tuple4[8:1:-1])
tuple5 = (2333, '98k')
# 连接
print(tuple4 + tuple5)
# 循环
for index in tuple4:
print(index)
# 查找元素是否存在
print(1 in tuple4)
print(11 in tuple4)
# 删除元组
# del tuple5
# print(tuple5)
# 取最大
print(max(tuple4))
# 取最小
print(min(tuple4))
# 元组长度
print(len(tuple4))
# 修改元组
# tuple4[0] = 11
执行结果:
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
2
8
(0, 2, 4, 6)
(8, 7, 6, 5, 4, 3, 2)
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 2333, '98k')
0
1
2
3
4
5
6
7
8
9
True
False
9
0
10
最后一个修改元组会报错,所以我先注释掉了,感兴趣的同学可以把注释去掉看下具体报错内容。
元组与列表间的互相转化
# 相互转化
print(type(tuple4))
print(list(tuple4))
print(type(list(tuple4)))
list1 = [0 ,1, 2, 3, 4, 5, 6, 7, 8, 9]
print(type(list1))
print(tuple(list1))
print(type(tuple(list1)))
结果如下:
<class 'tuple'>
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
<class 'list'>
<class 'list'>
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
<class 'tuple'>
- 在列表外套一层
tuple()就可以转为元组 - 在元组外套一层
list()就可以转为列表
元组解包
# 元组解包
tuple6 = (1, 2, 3)
print(tuple6)
a, b, c = tuple6
print(a, b, c)
结果如下:
(1, 2, 3)
1 2 3
希望各位同学在学习的过程中可以亲自动手实践一下示例代码,毕竟自己不敲代码是永远学不会代码的:)

示例代码
本系列的所有代码小编都会放在代码管理仓库 Github 和 Gitee 上,方便大家取用。
小白学 Python(11):基础数据结构(元组)的更多相关文章
- 小白学 Python(13):基础数据结构(字典)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(12):基础数据结构(字典)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(14):基础数据结构(集合)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(15):基础数据结构(集合)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(9):基础数据结构(列表)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python 爬虫(11):urllib 基础使用(一)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python(10):基础数据结构(列表)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(16):基础数据类型(函数)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(17):基础数据类型(函数)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
随机推荐
- js控制滚动条在内容更新超出时自动滚到底部
//滚动条在内容更新时自动滚到底部var message = document.getElementById('message');message.scrollTop = message.scroll ...
- mysql修改数据库的存储引擎(InnoDB)
查看当前的存储引擎 show engines; 基本的差别:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不 ...
- 23种设计模式之观察者模式(Observer Pattern)
观察者模式(Observer Pattern):定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主体对象,这个主题对象在状态发生变化时,会通知所有观察者.当一个对象改变需要同时改变其他对象, ...
- 无暇代码(js的整洁之道)
如果你关注代码本身和代码的编写方式,而不是只关心它是否能工作,那么你写代码是有一定的水准.专业开发人员将为未来的自己和“其他人”编写代码,而不仅仅只编写当前能工作就行的代码.在此基础上,简洁代码可以定 ...
- python win32com 读取带密码的excel
之前用到的win32com读取带密码excel的相关内容,今天刚好准备整理下,突然发现方法又不灵了. 以下为错误示范: # 已知excel密码去除 def del_password(filename, ...
- 你的环境有问题吧?--byte数组转字符串的疑惑
1. 故事背景 小T是个测试MM,小C是个程序猿,今天早上他们又为一个bug吵架了. 小T:“这个显示是bug,在我的浏览器上显示不正确” 小C:“这个bug我不认,在我的电脑上显示正常,是你的环境有 ...
- 【柠檬班】jmeter 不写代码,秒秒钟提取动态列表最后一个值
在用jmeter做接口测试时,我们经常会遇到,一个接口返回一个json串,在这个json串中,某个节点的值是一个列表,而且这个列表的长度是动态变化的.如: 获取用户列表,用户信息是个列表,类似的接 ...
- [Note] GNUstep on Windows
1.下载与安装 www.gnustep.org/windows/installer.html 下载 GNUstep MSYS System GNUstep Core GNUstep Devel 并安装 ...
- 快学Scala 第十八课 (trait多继承)
trait多继承: trait的继承并不像类拥有相同的含义!在下面这个例子中,如果还是运用类的继承的思想,那么运行结果将是什么也没有. trait Logged { def log(msg: Stri ...
- javascript DOM节点
获得子节点方式: 1.将文本内容也当成节点 childNodes firstChild lastChild 2.获得标签为内容的节点 children firstElementChild lastEl ...