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)统计元组中元素出 ...
随机推荐
- Centos-显示目录或者目录下文件信息-ls
ls 显示指定目录信息或指定目录下文件和目录信息,后边不跟文件目录路径信息默认为当前工作目录 默认显示输出信息的总行数统计数 相关参数 -a 显示所有文件或子目录,包含隐藏文档 # linux中以 . ...
- QT博客:QT学习之路
http://www.qter.org/thread-629-1-1.html
- pytorch和tensorflow的爱恨情仇之参数初始化
pytorch和tensorflow的爱恨情仇之基本数据类型 pytorch和tensorflow的爱恨情仇之张量 pytorch和tensorflow的爱恨情仇之定义可训练的参数 pytorch版本 ...
- c++中CreateEvent函数
参考:https://blog.csdn.net/u011642774/article/details/52789969 函数原型: HANDLE CreateEvent( LPSECURITY_AT ...
- 下载 Oracle Database XE 11gR2
操作系统:Windows 10 x64 第一节:下载 Oracle Database XE 11gR2 第二节:安装.验证安装 Oracle Database XE 11gR2 第三节:Oracle ...
- 【题解】[NOI2011]阿狸的打字机
阿狸的打字机 \(\text{Solution:}\) 首先观察三种操作:一种是插入一个字符,一种是退回上一步(回到父亲节点). 所以,我们可以对操作串进行模拟,并处理出每一个串在树上的位置. 接下来 ...
- Android Studio3.5在编译项目出现连接不上gradle该怎么办?
------------恢复内容开始------------ 报错原因: Could not get resource 'https://dl.google.com/dl/android/maven2 ...
- NOIP提高组2018 D1T3 【赛道修建】
颓了好几天,终于把这到题处理了一下. 话说,其实我考场上想出正解了,但是手残,算复杂度的时候多按了一个零,导致算出来是1亿多的复杂度,都不敢打...就把部分分都捡了一下... 题目描述: C 城将要举 ...
- vscode编写python,引用本地py文件出现红色波浪线
前言 引用本地py文件出现红色波浪线,如下图: 原因 经过查询得知,vscode中的python插件默认使用的是pylint来做代码检查,因此需要对pylint做一些配置 解决方案 在setting. ...
- 手撸ORM浅谈ORM框架之基础篇
好奇害死猫 一直觉得ORM框架好用.功能强大集众多优点于一身,当然ORM并非完美无缺,任何事物优缺点并存!我曾一度认为以为使用了ORM框架根本不需要关注Sql语句如何执行的,更不用关心优化的问题!!! ...