简单了解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搭建简易服务器分析与实现
Dec 15 Python
Python 文件读写操作实例详解
Mar 12 Python
python多线程方式执行多个bat代码
Jun 07 Python
Python实现屏幕截图的代码及函数详解
Oct 01 Python
使用Python的package机制如何简化utils包设计详解
Dec 11 Python
对Python字符串中的换行符和制表符介绍
May 03 Python
mac 安装python网络请求包requests方法
Jun 13 Python
python 提取tuple类型值中json格式的key值方法
Dec 31 Python
11个Python3字典内置方法大全与示例汇总
May 13 Python
python实现一个点绕另一个点旋转后的坐标
Dec 04 Python
Python使用循环神经网络解决文本分类问题的方法详解
Jan 16 Python
Python3.6 中的pyinstaller安装和使用教程
Mar 16 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
用PHP读取IMAP邮件
2006/10/09 PHP
javascript下查找父节点的简单方法
2007/08/13 Javascript
ppk谈JavaScript style属性
2008/10/10 Javascript
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
2010/08/13 Javascript
js对象数组按属性快速排序
2011/01/31 Javascript
canvas简单快速的实现知乎登录页背景效果
2017/05/08 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
2018/07/10 Javascript
vue-cli 打包使用history模式的后端配置实例
2018/09/20 Javascript
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
Python实现115网盘自动下载的方法
2014/09/30 Python
python对数组进行反转的方法
2015/05/20 Python
python操作 hbase 数据的方法
2016/12/18 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
2018/02/11 Python
python的中异常处理机制
2018/08/30 Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
2018/12/12 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
在python中用url_for构造URL的方法
2019/07/25 Python
Python3分析处理声音数据的例子
2019/08/27 Python
pymysql模块的使用(增删改查)详解
2019/09/09 Python
通过Python实现Payload分离免杀过程详解
2020/07/13 Python
Python爬虫之App爬虫视频下载的实现
2020/12/08 Python
加拿大便宜的隐形眼镜商店:Clearly
2016/09/15 全球购物
Square Off美国/加拿大:世界上最聪明的国际象棋棋盘
2018/12/06 全球购物
怎样声明一个匿名的内部类
2016/06/01 面试题
J2ee常用的设计模式?说明工厂模式
2015/05/21 面试题
决心书范文
2014/03/11 职场文书
如何写好自荐信
2014/04/07 职场文书
校长竞聘演讲稿
2014/05/16 职场文书
机械设计制造及其自动化专业求职信
2014/06/17 职场文书
建设幸福中国演讲稿
2014/09/11 职场文书
优秀英文求职信范文
2015/03/19 职场文书
合作意向书怎么写
2019/06/24 职场文书
Python3 使用pip安装git并获取Yahoo金融数据的操作
2021/04/08 Python
详解nodejs内置模块
2021/05/06 NodeJs
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL