小白学 Python(11):基础数据结构(元组)
- 2019 年 11 月 1 日
- 筆記
人生苦短,我选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 上,方便大家取用。