在上一篇文章中我们讲解了关于python列表List的相关内容,今天给大家解释一下列表List的兄弟 – 元组,俗称: 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教程") # 元组,元组中只有一个字符串数据

猜你喜欢:

1.python字符串

2.pycharm设置字体颜色/模板头文件

3.python列表list

转载请注明:猿说Python » python元组tuple

技术交流、商务合作请直接联系博主
扫码或搜索:猿说python
猿说python
微信公众号 扫一扫关注

python 元组tuple - python基础入门(14)的更多相关文章

  1. python 元组tuple介绍,使用。

    原文 https://blog.csdn.net/ruanxingzi123/article/details/83184909 一  是什么? # python 元组tuple? ''' 元祖tupl ...

  2. Python 元组 tuple() 方法

    描述 Python 元组 tuple() 方法用于将可迭代对象(字符串.列表.元祖.字典)转换为元组. 语法 tuple() 方法语法: tuple(iterable) 参数 iterable -- ...

  3. Python元组tuple(不可变)

    Python元组Tuple(不可变): 元组的特点: 1.元组的初始化: tuple = (1, )  #元组只有一个元素的话,初始化时要加,否则当做元素的普通变量类型处理 tuple = (1, 2 ...

  4. Python元组(tuple)

    元组(tuple)是Python中另一个重要的序列结构,与列表类型,也是由一系列按特定顺序排列的元素组成,但是他是不可变序列.在形式上元组的所有元素都放在"()"中,两个元素使用& ...

  5. Python—元组tuple

    列表的知识其实就类似于c语言中的数组,可插入.修改.list=[a,b,c,d] 而元组tuple,一旦初始化即不可修改.好处与绝对安全. 定义一个空的元组:t=() 定义只有一个元素的元组:t=(1 ...

  6. Python - 元组(tuple) 详解 及 代码

    元组(tuple) 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/17290967 元组是存放任意元素集合,不能修 ...

  7. Python 元组(Tuple)操作详解

    Python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号, 列表使用方括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可 一.创建元组 代码如下: tup1 = (' ...

  8. Python 元组Tuple概念和操作

    # 元组概念:有序的不可变的元素集合 # 和列表的区别就是, 元组元素不能修改 # 定义 # 一个元素的写法 # (666,) t = (666,) #正确写法 t = (666) #错误写法,括号当 ...

  9. 【Python】Java程序员学习Python(三)— 基础入门

    一闪一闪亮晶晶,满天都是小星星,挂在天上放光明,好像许多小眼睛.不要问我为什么喜欢这首歌,我不会告诉你是因为有人用口琴吹给我听. 一.Python学习文档与资料 一般来说文档的资料总是最权威,最全面的 ...

随机推荐

  1. 解决Navicat无法连接到centos上的MySQL,但命令行可以,修改权限,MySQL密码权限受限:ERROR 1820 (HY000) ERROR 1819 (HY000)

    问题分析 查看MySQL文档发现5.7版本后加入了对用户密码严格的管理规范,具体设置字段如下: validate_password_dictionary_file #插件用于验证密码强度的字典文件路径 ...

  2. macOs下安装Android SDK

    首先下载 Android SDK for mac 配置安装 1.进入存放 android-sdk-macosx 的目录,然后输入./android sdk就可以调出SDK Manager的图形界面 A ...

  3. SDN与IXP

    IXP 互联网交换中心(IXP)在互联网生态系统中发挥着关键作用.在全球范围内,100多个国家/地区有超过400个IXP,其中最大的IXP具有接近10 Tbps的峰值数据速率并连接数百个网络.IXP提 ...

  4. object_id()函数

    SQLServer数据库中,如果查询数据库中是否存在指定名称的索引或者外键约束等,经常会用到object_id('name','type')方法,做笔记如下: ? 语法:object_id('obje ...

  5. Lasso回归的坐标下降法推导

    目标函数 Lasso相当于带有L1正则化项的线性回归.先看下目标函数:RSS(w)+λ∥w∥1=∑Ni=0(yi−∑Dj=0wjhj(xi))2+λ∑Dj=0∣wj∣RSS(w)+λ∥w∥1=∑i=0 ...

  6. [Java]两个将秒数转化为日时分秒形式的函数

    比如900秒要反应一下,说15分就直观了.下面两个函数性能差不多,大家任意取用. 代码: import java.util.concurrent.TimeUnit; public class Test ...

  7. OpenGL ES: (3) EGL、EGL绘图的基本步骤、EGLSurface、ANativeWindow

    1. EGL概述 EGL 是 OpenGL ES 渲染 API 和本地窗口系统(native platform window system)之间的一个中间接口层,它主要由系统制造商实现. EGL提供如 ...

  8. 关于tomcat-users.xml添加用户被重复加载的问题mark

    今天用Eclipse启动tomcat带不起来项目,想进tomcat管理页面看我的工程是否已经发布,但是管理页面没有配置tomcat用户,于是进行tomcat-user.xml的用户添加. 本来想当然地 ...

  9. 单硬盘根分区扩容(非LVM)

    单用户模式(内核参数末尾加single)救援模式(用光盘启动,选第三个,rescue installed system) 救援模式有什么作用: 1可以更改root密码:2恢复硬盘.文件系统操作:3系统 ...

  10. Python 3.x 引入了函数注释

    Python 3.x 引入了函数注释,以增强函数的注释功能,下面是一个普通的自定义函数:   def dog(name, age, species):   return (name, age, spe ...