python数据类型之tuple(元组)
tuple元组
关注公众号“轻松学编程”了解更多。
1.概述
本质上是一种有序的集合,和列表非常的相似,列表使用[]表示,元组使用**()**表示.
特点:一旦初始化,就不能发生改变
2.元组的创建
格式:
元组名 = (元素1, 元素2 ,元素3,…)
#创建空的元组
tuple1 = ()
print(tuple1)
#创建带有元素的元组
tuple2 =(22, 33, 14, 109)
print(tuple2)
#与列表类似,元组中的元素类型可以不同
tuple3 = (23,True,"good")
print(tuple3)
#定义只有一个元素的元组
tuple4 = (1) #这定义的不是元组而是整数1
tuple4 = (1,) #定义一个元素的元组定义时必须加一个逗号",",用来消除歧义
输出:
()
(22, 33, 14, 109)
(23, True, 'good')
3.元组元素的访问
3.1 访问元组中的元素:
格式: 元组名[下标]
tuple1 = (20,40,201,401)
print(tuple1[0])
#注意使用下标取值的时候,要注意下标的取值范围,不要下标越界
#获取最后一个元素
print(tuple1[-1])
输出:
20
401
3.2 修改元组
在元组定义的时候大家都知道元组一旦初始化就不能改变,但是现在如果我想改变元组怎么办呢?
元组是不能修改的,但是列表可以,元组中的元素的数据类型可以是不同类型的,因此我们可以通过在元组中添加一个列表,而列表是可以修改的,进而来”修改“我们的元组
tuple1 = ('hello', 'you',[20, 30])
#修改元组
tuple1[0] = 'hi'
#报错,元组不能修改
tuple1[2][1] = 'good'
注意:从表面上看我们的元组确实是改变了,但其实改变的不是我们的元组,而是list的元素,所谓的tuple不变是说,tuple的每个元素的指向永远不变,一旦它指向了这个list,就不能改指向其他的对象,但是指向的list本身是可变的!
tuple1 = ('hello', 'you',[20, 30])
#修改元组
tuple1[2][1] = 'good'
print(tuple1)
输出:
('hello', 'you', [20, 'good'])
3.3 删除元组
元组是不可变的,但是我们可以使用del语句删除整个元组
tuple1 = ('hello', 'hi')
del tuple1
print(tuple1)
#此时会报错
4.元组操作
4.1 元组连接组合
语法:
元组1 元组2
元组3 = 元组1 + 元组2
tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
print(tuple1 + tuple2)
#结果
(1, 2, 3, 4, 5, 6)
注意:元素连接组合并没有改变原来的元组,而是生成了一个新的元组。
4.2 元组重复
语法:
元组2 = 元组1 * n
tuple1 = (1, 2, 3)
tuple2 = tuple1 * 3
print(tuple2)
#结果
(1, 2, 3, 1, 2, 3, 1, 2, 3)
4.3 判断元素是否在元组中
语法:
元素 in 元组
若存在则返回True,否则返回False
tuple1 = (1, 2, 3)
print( 1 in tuple1)
#结果
True
tuple1 = (1, 2, 3)
print( 5 in tuple1)
#结果
False
4.4 元组的截取
语法:
元组名[start:end]
截取的元组范围[start,end)
功能:获取开始下标到结束下标之前的所有元素。
若不指定start则默认是从开头开始截取到指定位置
若不指定end则默认从指定位置截取到结尾
tuple1 = (1, 2, 3, 8, 'hello', 'good')
tuple2 = tuple1[2:5]
print(tuple2)
#结果
(3, 8, 'hello')
tuple1 = (1, 2, 3, 8, 'hello', 'good')
tuple2 = tuple1[:5]
print(tuple2)
#结果
(1, 2, 3, 8, 'hello')
tuple1 = (1, 2, 3, 8, 'hello', 'good')
tuple2 = tuple1[3:]
print(tuple2)
#结果
(8, 'hello', 'good')
5.元组的方法
5.1 len(tuple)
功能:获取元组元素的个数
tuple1 = (1, 2, 3, 8, 'hello', 'good')
print(len(tuple1))
#结果
6
5.2 max(tuple)
功能:获取元组中元素的最大值
tuple1 = (1, 2, 3, 8, 20, 13)
print(max(tuple1))
#结果
20
5.3 min(tuple)
功能:获取元组中元素的最小值
tuple1 = (1, 2, 3, 8, 20, 13)
print(min(tuple1))
#结果
1
5.4 tuple(list)
功能:将列表转换为元组
list1 = [1, 2, 3, 8, 20, 13]
print(tuple(list1))
#结果
(1, 2, 3, 8, 20, 13)
6.二维元组
与二维列表类似,一个元组中的元素依然是元组,则成为二维元组。
元组名 =(元组1,元组2,…)
tuple1 = ((1, 2, 3),(4, 5, 6),(7, 8, 9))
二维元组取值
元组名[下标1]【下标2】
tuple1 = ((1, 2, 3),(4, 5, 6),(7, 8, 9))
#获取第一个元组的第一个元素
print(tuple1[0][0])
#结果
1
后记
【后记】为了让大家能够轻松学编程,我创建了一个公众号【轻松学编程】,里面有让你快速学会编程的文章,当然也有一些干货提高你的编程水平,也有一些编程项目适合做一些课程设计等课题。
也可加我微信【1257309054】,拉你进群,大家一起交流学习。
如果文章对您有帮助,请我喝杯咖啡吧!
公众号


关注我,我们一起成长~~
python数据类型之tuple(元组)的更多相关文章
- python 数据类型 之 tuple 元组
python 3.6.5 元组的特性和定义 与列表类型 只不过 [ ] 改成了() 特性: 1.不可变(元组本身不可变,但是可以存可变类型的element){猜测因为可变element的地址不可变而 ...
- Python数据类型详解——元组
Python数据类型详解--元组 有时候我们的列表数据不想被别人修改时该怎么办? 此时,就可以使用元组来存放,元祖又称为只读列表,不能修改 定义方式:与列表类似,将列表的[]换成()即可. 特性: 1 ...
- python入门到放弃-基本数据类型之tuple元组
#概述 元组俗称不可变的列表,又称只读列表,是python的基本数据类型之一, 用()小括号表示,里面使用,逗号隔开 元组里面可以放任何的数据类型的数据,查询可以,循环可以,但是就是不能修改 #先来看 ...
- 【Python】(六)Python数据类型-列表和元组,九浅一深,用得到
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文分十个章节介绍数据类型中的列表(list)和元组(tuple),从使用说到底层实现,包您满意 干货满满,建议收藏,需要用到时常看看. 小伙伴们 ...
- python开发基础(二)运算符以及数据类型之tuple(元组)
# encoding: utf-8 # module builtins # from (built-in) # by generator 1.147 """ Built- ...
- python数据类型:序列(字符串,元组,列表,字典)
序列通常有2个特点: 1,可以根据索引取值 2,可以切片操作 字符串,元组,列表,字典,都可以看做是序列类型 我的操作环境:Ubuntu16.04+python2.7 一.字符串类型 >按索引获 ...
- Python常见数据结构-Tuple元组
Python Tuple基本特点 元组与列表类似,不同之处在于元组的元素不能修改. 与字符串和列表一样,可以根据下标进行切片索引. 元组使用小括号,单一元素的元组定义是必须加一个逗号. Python ...
- python数据类型——列表和元组类型
列表类型(list) 定义一个列表类型很简单: l = ['a','b','c','d','e','f'] 变量l即为列表类型,可以用type方法查看: print(type(l)) 列表的增删改查 ...
- Python数据类型的内置函数之tuple(元组),dict(字典),set(集合)
Python数据类型内置函数 - str(字符串) - list(列表) - tuple(元组) - dict(字典) - set(收集) tuple(元组)的操作 - (count)统计元组中元素出 ...
随机推荐
- JVM内存模型不再是秘密
前言 上篇文章我们一起了解了jvm虚拟机类的加载机制,而且是以一种纯大白话进行的一场闲聊,相信小伙伴们应该印象深刻,感兴趣的小伙伴可以重温一下上一篇文章大白话谈JVM的类加载机制. 当jvm加载了类后 ...
- Metasploit之令牌窃取
令牌简介及原理 令牌(Token) 就是系统的临时密钥,相当于账户名和密码,用来决定是否允) 许这次请求和判断这次请求是属于哪一个用户的.它允许你在不提供密码或其他凭证的前提下,访问网络和系统资源.这 ...
- AD技巧之原理图元器件统一重新编号
本文将简要介绍Altium Designer中如何进行原理图元器件统一命名,这是Altium Designer软件一个小技巧,在学习和工程实践中,都十分有用的技能. 第一步:打开原理图 第二步:点击& ...
- 请编写sql多语句表值函数统,计指定年份中每本书的销售总额
create table 图书表( 书号 varchar(50), 书名 varchar(50), 单价 int ) create table 销售表( 书号 varchar(50), 销售时间 da ...
- 实验1:Mininet源码安装和可视化拓扑工具
一.实验目的 掌握 Mininet 的源码安装方法和 miniedit 可视化拓扑生成工具. 二.实验任务 使用源码安装 Mininet 的 2.3.0d6 版本,并使用可视化拓扑工具生成一个最简拓扑 ...
- 【题解】 [EZEC-4]求和
对于百分之十的数据:随便过. 下面推式子: \[\sum_{i=1}^n\sum_{j=1}^n\gcd(i,j)^{i+j} \] \[=\sum_{d=1}^n\sum_{i=1}^n\sum_{ ...
- Java安全之Commons Collections1分析(二)
Java安全之Commons Collections1分析(二) 0x00 前言 续上篇文,继续调试cc链.在上篇文章调试的cc链其实并不是一个完整的链.只是使用了几个方法的的互相调用弹出一个计算器. ...
- STM32之旅6——WWDG
WWDG是stm32f103的窗口看门狗,使用的时钟是APB1的时钟,在使用wwdg是被一个小问题困扰了很久--没有打开中断,无法喂狗,一直复位. 初始化完之后需要使能中断: __HAL_WWDG_E ...
- 用vscode写python,from引用本地文件的时候老是有红色波浪线,很不爽
前言 出于一些原因,国际关系等等,最近想把开发工具切换到一些免费开源的工具上面,先尝试了在vscode上搭建python环境,总体还是很简单的, 网上教程很多,vscode本身的插件也很丰富,可惜了国 ...
- 多测师讲解jmeter _基本介绍_(001)高级讲师肖sir
jmeter讲课课程 一.Jmeter简介 Jmeter是由Apache公司开发的一个纯Java的开源项目,即可以用于做接口测试也可以用于做性能测试. Jmeter具备高移植性,可以实现跨平台运行. ...