简单了解python元组tuple相关原理


Posted in Python onDecember 02, 2019

这篇文章主要介绍了简单了解python元组tuple相关原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

元组tuple和列表List类似,元组有如下特点:

1.由一个或者多个数据构成,数据的类型可以不相同也可以相同;

2.元组中的数据需要写在()中括号内部,数据与数据之间用逗号隔开;

3.元组是一个有序的集合,下标索引默认重 0 开始,和字符串类似;

4.元组的数据不能被修改

元组

元组其实也称为只读列表,列表支持的函数元组同样也支持,唯一区别是元组tuple中的数据不能被修改,这就意味着不能删除元组tuple中的数据,也不能直接给元组tuple中的数据赋值。

一.元组tuple定义

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解忧
@Blog(个人博客地址): shuopython.com
@WeChat Official Account(微信公众号):猿说python
@Github:www.github.com
 
@File:python_tuple.py
@Time:2019/9/26 20:45
 
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
"""
tuple1 = tuple() # 定义一个空元组,元组的数据不能修改,意味永远都是一个空元组
print(tuple1)
print(type(tuple1)) # 获取数据类型
 
tuple2 = ("python","study") # 定义元组tuple2 ,该元组由两个字符串数据构成
print(tuple2)
 
tuple3= ("python","s",False,2.5) # 定义元组tuple3 ,该元组中的数据可以由不同类型的数据构成
print(tuple3)

输出结果:

()
<class 'tuple'>
('python', 'study')
('python', 's', False, 2.5)

二.元组tuple查询

元组tuple的查询和列表list的操作类似,同样也可以直接通过下标查询元组中的数据,演示代码如下:

tuple1= ("python","s",False,2.5,40,"tuple") # 元组中的数据可以由不同类型的数据构成
print(type(tuple1)) # 通过内置函数type获取数据类型
print(tuple1)
print(tuple1[1]) # 获取元组中索引值为1 的数据
print(tuple1[len(tuple1)-1]) # 获取元组中的最后一个元素,注意是len(tuple)-1,并非len(tuple)
print(tuple1[1:4]) # 获取元组索引值1-4的数据
print(tuple1[:5]) # 如果冒号之前没有设置参数,默认重0开始,表示获取元组索引值0-5的数据
print(tuple1[3:]) # 如果冒号之后没有设置参数,默认到元组最后一个数据介绍,包括最后一个数据

输出结果:

<class 'tuple'>
('python', 's', False, 2.5, 40, 'tuple')
s
tuple
('s', False, 2.5)
('python', 's', False, 2.5, 40)
(2.5, 40, 'tuple')

三.元组tuple不支持删除/修改数据

元组tuple中的数据只能读取,不能修改也不能删除,如果对元组tuple中的数据删除或者修改会报错,代码演示:

# 测试修改元组数据
tuple1= ("python","s",False,2.5,40,"tuple") # 元组中的数据可以由不同类型的数据构成
tuple1[0] = False

编译器会报错:TypeError: ‘tuple' object does not support item assignment(翻译:元组tuple不支持修改)

# 测试删除元组数据
tuple1= ("python","s",False,2.5,40,"tuple") # 元组中的数据可以由不同类型的数据构成
del tuple1[0]

编译器会报错:TypeError: ‘tuple' object doesn't support item deletion(翻译:元组tuple不支持删除)

四.元组tuple与列表list的相互转换

两者之间直接强制转换即可,演示代码如下:

# 元组tuple 转为 列表list
tuple1= ("python","s",False,2.5,40,"tuple")
list1 = list(tuple1)
 
print("tuple1数据类型是:",type(tuple1))
print("list1数据类型是:",type(list1))
 
print("***"*20) # 小窍门:直接打印60个*
 
# 列表list 转为 元组tuple
list2 = [False,"好好学习",0,3.14]
tuple2 = tuple(list2)
print("tuple2数据类型是:",type(tuple2))
print("list2数据类型是:",type(list2))

输出结果:

tuple1数据类型是: <class 'tuple'>
list1数据类型是: <class 'list'>
************************************************************
tuple2数据类型是: <class 'tuple'>
list2数据类型是: <class 'list'>

五.重点总结

1.注意元组tuple与列表list的区别,元组的数据不能被修改,其他使用和列表一样。

2.注意元组tuple/列表list/字符串str三者的写法区别:

a = "python教程" # 字符串
b = ["python教程"] # 列表,列表中只有一个字符串数据
c = ("python教程") # 元组,元组中只有一个字符串数据

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现3行代码解简单的一元一次方程
Aug 18 Python
详细讲解用Python发送SMTP邮件的教程
Apr 29 Python
Python队列的定义与使用方法示例
Jun 24 Python
python 读取txt中每行数据,并且保存到excel中的实例
Apr 29 Python
详解Python 数据库的Connection、Cursor两大对象
Jun 25 Python
Windows下安装Scrapy
Oct 17 Python
Python实现Event回调机制的方法
Feb 13 Python
python设计tcp数据包协议类的例子
Jul 23 Python
详解使用Python下载文件的几种方法
Oct 13 Python
python做接口测试的必要性
Nov 20 Python
python3 实现函数写文件路径的正确方法
Nov 27 Python
深度学习tensorflow基础mnist
Apr 14 Python
python实现智能语音天气预报
Dec 02 #Python
Python:二维列表下标互换方式(矩阵转置)
Dec 02 #Python
python 实现二维列表转置
Dec 02 #Python
python列表推导式入门学习解析
Dec 02 #Python
Python 矩阵转置的几种方法小结
Dec 02 #Python
numpy.transpose()实现数组的转置例子
Dec 02 #Python
Python中低维数组填充高维数组的实现
Dec 02 #Python
You might like
杏林同学录(六)
2006/10/09 PHP
防止用户利用PHP代码DOS造成用光网络带宽
2011/03/01 PHP
PHP图像处理类库MagickWand用法实例分析
2015/05/21 PHP
PHP实现正则表达式分组捕获操作示例
2018/02/03 PHP
PHP PDOStatement::execute讲解
2019/01/31 PHP
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
JS获取Table中td值的方法
2015/03/19 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
jQuery常用且重要方法汇总
2015/07/13 Javascript
详解JavaScript编程中正则表达式的使用
2015/10/25 Javascript
JavaScript判断页面加载完之后再执行预定函数的技巧
2016/05/17 Javascript
Web打印解决方案之证件套打的实现思路
2016/08/29 Javascript
对js中回调函数的一些看法
2016/08/29 Javascript
值得分享的bootstrap table实例
2016/09/22 Javascript
jquery文字填写自动高度的实现方法
2016/11/07 Javascript
JavaScript学习笔记--常用的互动方法
2016/12/07 Javascript
AngularJS实现进度条功能示例
2017/07/05 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
vue axios封装及API统一管理的方法
2019/04/18 Javascript
基于javascript的无缝滚动动画1
2020/08/07 Javascript
[42:52]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[53:52]OG vs EG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
[01:16:12]完美世界DOTA2联赛PWL S2 FTD vs Inki 第一场 11.21
2020/11/23 DOTA
跟老齐学Python之永远强大的函数
2014/09/14 Python
python 正确保留多位小数的实例
2018/07/16 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
Python hmac模块使用实例解析
2019/12/24 Python
浅析Python的命名空间与作用域
2020/11/25 Python
Python实现中英文全文搜索的示例
2020/12/04 Python
StubHub德国:购买和出售门票
2017/09/06 全球购物
大学新生军训自我鉴定
2014/03/18 职场文书
士力架广告词
2014/03/20 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
公司的力量观后感
2015/06/05 职场文书
win10怎么设置右下角图标不折叠?Win10设置右下角图标不折叠的方法
2022/07/15 数码科技