简单了解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和OpenCV库将URL转换为OpenCV格式的方法
Mar 27 Python
解决Python传递中文参数的问题
Aug 04 Python
Python列表推导式与生成器用法分析
Aug 02 Python
解决Pycharm界面的子窗口不见了的问题
Jan 17 Python
使用python的pexpect模块,实现远程免密登录的示例
Feb 14 Python
python pytest进阶之fixture详解
Jun 27 Python
python集合能干吗
Jul 19 Python
彻底解决Python包下载慢问题
Nov 15 Python
Django haystack实现全文搜索代码示例
Nov 28 Python
使用Django的JsonResponse返回数据的实现
Jan 15 Python
Appium+Python实现简单的自动化登录测试的实现
Jan 26 Python
Python使用scapy模块发包收包
May 07 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
DSP接收机前端设想
2021/03/02 无线电
PHP 开源AJAX框架14种
2009/08/24 PHP
PHP 文件编程综合案例-文件上传的实现
2013/07/03 PHP
destoon实现调用热门关键字的方法
2014/07/15 PHP
PHP中使用asort进行中文排序失效的问题处理
2014/08/18 PHP
Yii的CDbCriteria查询条件用法实例
2014/12/04 PHP
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
2019/10/17 PHP
JavaScript CSS修改学习第五章 给“上传”添加样式
2010/02/19 Javascript
js日历功能对象
2012/01/12 Javascript
javascript 处理null及null值示例
2014/06/09 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
jQuery中的deferred使用方法
2017/03/27 jQuery
layer弹窗插件操作方法详解
2017/05/19 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
使用Vue如何写一个双向数据绑定(面试常见)
2018/04/20 Javascript
swiper 自动图片无限轮播实现代码
2018/05/21 Javascript
layUI实现列表查询功能
2019/07/27 Javascript
python 连续不等式语法糖实例
2020/04/15 Python
名人珠宝设计师:Melinda Maria Jewelry
2019/03/06 全球购物
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
法国体育用品商店:GO Sport
2019/10/23 全球购物
阿拉伯时尚购物网站:Nisnass
2021/02/07 全球购物
环境科学专业个人求职的自我评价
2013/11/28 职场文书
幼儿园老师辞职信
2014/01/20 职场文书
退伍老兵事迹材料
2014/01/31 职场文书
求职信的最佳写作思路
2014/02/01 职场文书
煤矿机修工岗位职责
2014/02/07 职场文书
节约电力资源的建议书
2014/03/12 职场文书
学生会主席竞聘书
2014/03/31 职场文书
安全宣传标语
2014/06/10 职场文书
大学生上课迟到检讨书
2014/10/15 职场文书
2014年人力资源工作总结
2014/11/19 职场文书
2022年显卡天梯图(6月更新)
2022/06/17 数码科技