简单了解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动态加载模块的3种方法
Nov 22 Python
python多线程方式执行多个bat代码
Jun 07 Python
Python中xrange与yield的用法实例分析
Dec 26 Python
利用ctypes获取numpy数组的指针方法
Feb 12 Python
详解python的四种内置数据结构
Mar 19 Python
PyCharm下载和安装详细步骤
Dec 17 Python
TensorFlow实现指数衰减学习率的方法
Feb 05 Python
python实现将列表中各个值快速赋值给多个变量
Apr 02 Python
Django实现前台上传并显示图片功能
May 29 Python
Python接口自动化测试的实现
Aug 28 Python
Python Sqlalchemy如何实现select for update
Oct 12 Python
Django自带用户认证系统使用方法解析
Nov 12 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
第十四节--命名空间
2006/11/16 PHP
一些 PHP 管理系统程序中的后门
2009/08/05 PHP
smarty模板中拼接字符串的方法
2014/02/14 PHP
php实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
Yii操作数据库实现动态获取表名的方法
2016/03/29 PHP
Laravel 5.3 学习笔记之 错误&amp;日志
2016/08/28 PHP
jquery 图片Silhouette Fadeins渐显效果
2010/02/07 Javascript
jQuery封装的获取Url中的Get参数示例
2013/11/26 Javascript
react实现pure render时bind(this)隐患需注意!
2017/03/09 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
ztree实现左边动态生成树右边为内容详情功能
2017/11/03 Javascript
Vue中的验证登录状态的实现方法
2019/03/09 Javascript
小程序接口的promise化的实现方法
2019/12/11 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
[42:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS OpTic
2018/03/31 DOTA
跟老齐学Python之??碌某?? target=
2014/09/12 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
Python利用PyExecJS库执行JS函数的案例分析
2019/12/18 Python
python 串口读取+存储+输出处理实例
2019/12/26 Python
用python介绍4种常用的单链表翻转的方法小结
2020/02/24 Python
python:HDF和CSV存储优劣对比分析
2020/06/08 Python
Python Serial串口基本操作(收发数据)
2020/11/06 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
大学生全国两会报告感想
2014/03/17 职场文书
教师求职信范文
2014/05/24 职场文书
授权委托书格式范文
2014/08/02 职场文书
幼儿园校园小喇叭广播稿
2014/10/17 职场文书
教师党员自我评价2015
2015/03/04 职场文书
消防安全培训工作总结
2015/10/23 职场文书
php TP5框架生成二维码链接
2021/04/01 PHP
MySQL 1130异常,无法远程登录解决方案详解
2021/08/23 MySQL
Python探索生命起源 matplotlib细胞自动机动画演示
2022/04/21 Python
利用Python实现翻译HTML中的文本字符串
2022/06/21 Python