简单了解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学习笔记 下载
Feb 10 Python
Python中运行并行任务技巧
Feb 26 Python
使用django-guardian实现django-admin的行级权限控制的方法
Oct 30 Python
详解Python中的正斜杠与反斜杠
Aug 09 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
Nov 28 Python
python 字段拆分详解
Dec 17 Python
Python使用docx模块实现刷题功能代码
Feb 13 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
Feb 29 Python
Pytorch十九种损失函数的使用详解
Apr 29 Python
解决python调用自己文件函数/执行函数找不到包问题
Jun 01 Python
Flask中sqlalchemy模块的实例用法
Aug 02 Python
教你用python实现12306余票查询
Jun 30 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
破解.net程序(dll文件)编译和反编译方法
2013/01/31 PHP
phpstrom使用xdebug配置方法
2013/12/17 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
2019/08/12 PHP
两个Javascript小tip资料
2010/11/23 Javascript
js作用域及作用域链概念理解及使用
2013/04/15 Javascript
jQuery实现为图片添加镜头放大效果的方法
2015/06/25 Javascript
jquery实现漫天雪花飞舞的圣诞祝福雪花效果代码分享
2015/08/20 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
Javascript的this用法
2017/01/16 Javascript
d3.js入门教程之数据绑定详解
2017/04/28 Javascript
JavaScript常见事件对象与操作实例总结
2019/01/05 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
[08:53]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS 选手采访
2021/03/11 DOTA
[05:23]DOTA2-DPC中国联赛2月1日Recap集锦
2021/03/11 DOTA
python自动化测试之从命令行运行测试用例with verbosity
2014/09/28 Python
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
举例讲解Python面向对象编程中类的继承
2016/06/17 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
Python3爬虫之自动查询天气并实现语音播报
2019/02/21 Python
Python人脸识别第三方库face_recognition接口说明文档
2019/05/03 Python
pyqt5 从本地选择图片 并显示在label上的实例
2019/06/13 Python
python使用pandas处理excel文件转为csv文件的方法示例
2019/07/18 Python
Pytorch 神经网络—自定义数据集上实现教程
2020/01/07 Python
用HTML5.0制作网页的教程
2010/05/30 HTML / CSS
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
2013/10/30 面试题
新农村建设标语
2014/06/24 职场文书
优秀毕业生的求职信
2014/07/21 职场文书
先进基层党组织材料
2014/12/25 职场文书
单位考核聘任报告
2015/03/02 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
安全生产培训心得体会
2016/01/18 职场文书
2016年小学“感恩教师”主题队日活动总结
2016/04/01 职场文书
教你怎么用python实现字符串转日期
2021/05/24 Python
如何理解python接口自动化之logging日志模块
2021/06/15 Python
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python
MySQL池化框架学习接池自定义
2022/07/23 MySQL