简单了解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 相关文章推荐
wxpython 最小化到托盘与欢迎图片的实现方法
Jun 09 Python
Python中的类学习笔记
Sep 23 Python
用Python中的wxPython实现最基本的浏览器功能
Apr 14 Python
Python中操作符重载用法分析
Apr 29 Python
Django如何实现内容缓存示例详解
Sep 24 Python
11月编程语言排行榜 Python逆袭C#上升到第4
Nov 15 Python
Python实现的爬取网易动态评论操作示例
Jun 06 Python
Python HTML解析模块HTMLParser用法分析【爬虫工具】
Apr 05 Python
python 操作hive pyhs2方式
Dec 21 Python
pycharm的python_stubs问题
Apr 08 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
Apr 27 Python
如何教少儿学习Python编程
Jul 10 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
PHP4在WinXP下IIS和Apache2服务器上的安装实例
2006/10/09 PHP
[原创]PHP字符串中插入子字符串方法总结
2016/05/06 PHP
利用PHP判断文件是否为图片的方法总结
2017/01/06 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
2017/04/05 PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
2017/07/03 PHP
thinkphp分页集成实例
2017/07/24 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
使用JS操作页面表格,元素的一些技巧
2007/02/02 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
jquery 实现窗口的最大化不论什么情况
2013/09/03 Javascript
javascript实现博客园页面右下角返回顶部按钮
2015/02/22 Javascript
JavaScript中的call方法和apply方法使用对比
2015/08/12 Javascript
vue.js element-ui validate中代码不执行问题解决方法
2017/12/18 Javascript
JS代码实现电脑配置检测功能
2018/03/21 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
vue项目中跳转到外部链接的实例讲解
2018/09/20 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
JS前端知识点总结之内置对象,日期对象和定时器相关操作
2019/07/05 Javascript
JavaScript实现跟随鼠标移动的盒子
2021/01/28 Javascript
Python使用xlrd读取Excel格式文件的方法
2015/03/10 Python
Python中的高级数据结构详解
2015/03/27 Python
python dict 相同key 合并value的实例
2019/01/21 Python
Python图像处理之图片文字识别功能(OCR)
2019/07/30 Python
python实现UDP协议下的文件传输
2020/03/20 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
2020/12/07 Python
10分钟理解CSS3 FlexBox弹性布局
2018/12/20 HTML / CSS
HTML5中drawImage用法分析
2014/12/01 HTML / CSS
生物制药毕业生自荐信
2013/10/16 职场文书
电子商务专业个人的自我评价分享
2013/10/29 职场文书
小学生爱国演讲稿
2014/04/25 职场文书
机械专业求职信范文
2014/07/15 职场文书
教师个人查摆剖析材料
2014/10/14 职场文书
Python使用protobuf序列化和反序列化的实现
2021/05/19 Python