简单了解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 相关文章推荐
最大K个数问题的Python版解法总结
Jun 16 Python
python读取图片并修改格式与大小的方法
Jul 24 Python
python hbase读取数据发送kafka的方法
Dec 27 Python
通过python爬虫赚钱的方法
Jan 29 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
Aug 09 Python
Tensorflow限制CPU个数实例
Feb 06 Python
python tkinter GUI绘制,以及点击更新显示图片代码
Mar 14 Python
Keras 中Leaky ReLU等高级激活函数的用法
Jul 05 Python
python缩进长度是否统一
Aug 02 Python
Python包管理工具pip的15 个使用小技巧
May 17 Python
python源码剖析之PyObject详解
May 18 Python
Python3使用Qt5来实现简易的五子棋小游戏
May 02 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写入数据到CSV文件的方法
2015/03/14 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
2016/05/09 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
2017/03/15 PHP
找到了一篇jQuery与Prototype并存的冲突的解决方法
2007/08/29 Javascript
js类后台管理菜单类-MenuSwitch
2007/09/12 Javascript
extJs 下拉框联动实现代码
2010/04/09 Javascript
不要在cookie中使用特殊字符的原因分析
2010/07/13 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
2015/02/28 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
jquery表单验证插件formValidator使用方法
2016/04/01 Javascript
详解JavaScript中Hash Map映射结构的实现
2016/05/21 Javascript
详解BootStrap中Affix控件的使用及保持布局的美观的方法
2016/07/08 Javascript
javascript创建对象的3种方法
2016/11/02 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
vue2.0中click点击当前li实现动态切换class
2017/06/21 Javascript
ES6中Symbol、Set和Map用法详解
2019/08/20 Javascript
[02:08:58]2014 DOTA2国际邀请赛中国区预选赛 Ne VS CIS
2014/05/22 DOTA
用实例分析Python中method的参数传递过程
2015/04/02 Python
Python中对象的引用与复制代码示例
2017/12/04 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
2018/04/09 Python
Python 实现一行输入多个值的方法
2018/04/21 Python
Python代码一键转Jar包及Java调用Python新姿势
2020/03/10 Python
Python3爬虫关于识别点触点选验证码的实例讲解
2020/07/30 Python
python利用xlsxwriter模块 操作 Excel
2020/10/14 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
2020/10/18 Python
html5 postMessage前端跨域并前端监听的方法示例
2018/11/01 HTML / CSS
周仰杰(JIMMY CHOO)法国官方网站:闻名世界的鞋子品牌
2019/09/27 全球购物
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
小学教师的个人自我鉴定
2013/10/26 职场文书
食品安全承诺书范文
2014/08/29 职场文书
刑事申诉状范文
2015/05/20 职场文书
校运会加油稿大全
2015/07/22 职场文书
大学生党员暑假实践(活动总结)
2019/08/21 职场文书
MySQL 数据丢失排查案例
2021/05/08 MySQL
Vue实现下拉加载更多
2021/05/09 Vue.js
多台电脑共享文件怎么设置?多台电脑共享文件操作教程
2022/04/08 数码科技