简单了解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 相关文章推荐
django session完成状态保持的方法
Nov 27 Python
Python Pandas 获取列匹配特定值的行的索引问题
Jul 01 Python
PyQt 图解Qt Designer工具的使用方法
Aug 06 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
Nov 07 Python
利用python实现AR教程
Nov 20 Python
Python使用uuid库生成唯一标识ID
Feb 12 Python
python+opencv3生成一个自定义纯色图教程
Feb 19 Python
使用Keras预训练模型ResNet50进行图像分类方式
May 23 Python
基于python实现简单网页服务器代码实例
Sep 14 Python
Python中的tkinter库简单案例详解
Jan 22 Python
Python利用FlashText算法实现替换字符串
Mar 31 Python
PyTorch device与cuda.device用法
Apr 03 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使用curl打开https网站的方法
2015/06/17 PHP
php实现的二叉树遍历算法示例
2017/06/15 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
javascript对下拉列表框(select)的操作实例讲解
2013/11/29 Javascript
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
2013/12/17 Javascript
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
JavaScript中的包装对象介绍
2015/01/27 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
2015/12/04 Javascript
jQuery弹出下拉列表插件(实现kindeditor的@功能)
2016/08/16 Javascript
JS获得一个对象的所有属性和方法实例
2017/02/21 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
react中的ajax封装实例详解
2017/10/17 Javascript
详解JavaScript作用域和作用域链
2019/03/19 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
2020/02/28 Javascript
three.js利用射线Raycaster进行碰撞检测
2020/03/12 Javascript
[00:31]2016完美“圣”典风云人物:国士无双宣传片
2016/12/04 DOTA
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
Python设计模式编程中Adapter适配器模式的使用实例
2016/03/02 Python
Python 提取dict转换为xml/json/table并输出的实现代码
2016/08/28 Python
Python 多线程Threading初学教程
2017/08/22 Python
基于Python __dict__与dir()的区别详解
2017/10/30 Python
用python实现将数组元素按从小到大的顺序排列方法
2018/07/02 Python
Python中的函数式编程:不可变的数据结构
2018/10/08 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
Dune London官网:英国著名奢华鞋履品牌
2017/11/30 全球购物
伦敦一卡通:The London Pass
2018/11/30 全球购物
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
领导视察欢迎词
2014/01/15 职场文书
党员先锋岗事迹材料
2014/05/08 职场文书
财务务虚会发言材料
2014/10/20 职场文书
酒店前台岗位职责
2015/04/16 职场文书
对领导班子的意见和建议
2015/06/08 职场文书
python如何利用cv2模块读取显示保存图片
2021/06/04 Python
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang