小白学 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):变 ...
随机推荐
- 第八届蓝桥杯java b组第八题
,标题:包子凑数 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子.每种蒸笼都有非常多笼,可以认为是无限笼. 每当有顾客想买X个包子,卖包子的大叔就 ...
- 基于操作系统的Linux网络参数的配置
一.实验目的 1.掌握Linux下网络参数的查看方法并理解网络参数的含义. 2.掌握Linux下网络参数的配置 二.实验内容 1.查看当前网络配置的参数. 2.在Linux主机中将网络参数按以下要求设 ...
- FileDown
import org.apache.hadoop.conf.*; import org.apache.hadoop.fs.*; import java.io.IOException; import j ...
- css或Angular框架限制文本字数
提需求的来了 某一期产品迭代时,新增了一个小功能,即:在单元格中的文本内容,字符超过20个字的时候,需要截断,并显示20个字符+一个省略号,未超过,无视. 这需求看上去不怎么复杂,看起来可以用css做 ...
- 坑爹的tp-link管理密码设置
tp-link管理密码最长14位,我设置了15位的密码,突然等不上去,上网发现不少人也有类似情况,后来看到一个文章说tp-link管理密码,可以设置6-15,于是抱着试一试的态度,输入我设置密码的前 ...
- 使用apache的poi来实现数据导出到excel的功能——方式二
此次,介绍利用poi与layui table结合导出excel.这次不需要从数据库中查询出来的数据进行每一行的拼接那么麻烦,我们这次将标题定义一个id值,对应从数据库中查找出来的字段名即可. 1.po ...
- asp.net 开源工作流-ccflow关于 “ 是否自动计算未来的处理人”的功能变更
关键字:流程未来节点处理人 工作流快速开发平台 工作流流设计 业务流程管理 asp.net 开源工作流 业务背景:一个流程在启动起来后,是可以对一些节点计算出来处理人是谁,流程的走向.对于另 ...
- Git版本控制之ubuntu搭建Git服务器
Git是一个开源的分布式版本控制系统,可以有效.高效的处理从很小到非常大的项目版本管理.使得开发者可以通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库,也可以将代码提交到Git服务 ...
- Go语言及Beego框架环境搭建
在开始环境搭建之前,我们先一起来看看: Go有什么优势: 不用虚拟机,它可直接编译成机器码,除了glibc外没有其他外部依赖,部署十分方便,就是扔一个文件就完成了. 天生支持并发,可以充分的利用多核, ...
- Django高级实战 开发企业级问答网站 ✌✌
Django高级实战 开发企业级问答网站 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 从实际需求分析开始,实现当今主流知识问答应用的功能,包括动态.文章.问 ...