tuple元组

关注公众号“轻松学编程”了解更多。

1.概述

本质上是一种有序的集合,和列表非常的相似,列表使用[]表示,元组使用**()**表示.

特点:一旦初始化,就不能发生改变

2.元组的创建

格式:

元组名 = (元素1, 元素2 ,元素3,…)

  1. #创建空的元组
  2. tuple1 = ()
  3. print(tuple1)
  4. #创建带有元素的元组
  5. tuple2 =(22, 33, 14, 109)
  6. print(tuple2)
  7. #与列表类似,元组中的元素类型可以不同
  8. tuple3 = (23,True,"good")
  9. print(tuple3)
  10. #定义只有一个元素的元组
  11. tuple4 = (1) #这定义的不是元组而是整数1
  12. tuple4 = (1,) #定义一个元素的元组定义时必须加一个逗号",",用来消除歧义
  13. 输出:
  14. ()
  15. (22, 33, 14, 109)
  16. (23, True, 'good')

3.元组元素的访问

3.1 访问元组中的元素:

格式: 元组名[下标]

  1. tuple1 = (20,40,201,401)
  2. print(tuple1[0])
  3. #注意使用下标取值的时候,要注意下标的取值范围,不要下标越界
  4. #获取最后一个元素
  5. print(tuple1[-1])
  6. 输出:
  7. 20
  8. 401

3.2 修改元组

在元组定义的时候大家都知道元组一旦初始化就不能改变,但是现在如果我想改变元组怎么办呢?

元组是不能修改的,但是列表可以,元组中的元素的数据类型可以是不同类型的,因此我们可以通过在元组中添加一个列表,而列表是可以修改的,进而来”修改“我们的元组

  1. tuple1 = ('hello', 'you',[20, 30])
  2. #修改元组
  3. tuple1[0] = 'hi'
  4. #报错,元组不能修改
  5. tuple1[2][1] = 'good'

注意:从表面上看我们的元组确实是改变了,但其实改变的不是我们的元组,而是list的元素,所谓的tuple不变是说,tuple的每个元素的指向永远不变,一旦它指向了这个list,就不能改指向其他的对象,但是指向的list本身是可变的!

  1. tuple1 = ('hello', 'you',[20, 30])
  2. #修改元组
  3. tuple1[2][1] = 'good'
  4. print(tuple1)
  5. 输出:
  6. ('hello', 'you', [20, 'good'])

3.3 删除元组

元组是不可变的,但是我们可以使用del语句删除整个元组

  1. tuple1 = ('hello', 'hi')
  2. del tuple1
  3. print(tuple1)
  4. #此时会报错

4.元组操作

4.1 元组连接组合

语法:

元组1 元组2

元组3 = 元组1 + 元组2

  1. tuple1 = (1, 2, 3)
  2. tuple2 = (4, 5, 6)
  3. print(tuple1 + tuple2)
  4. #结果
  5. (1, 2, 3, 4, 5, 6)

注意:元素连接组合并没有改变原来的元组,而是生成了一个新的元组。

4.2 元组重复

语法:

元组2 = 元组1 * n

  1. tuple1 = (1, 2, 3)
  2. tuple2 = tuple1 * 3
  3. print(tuple2)
  4. #结果
  5. (1, 2, 3, 1, 2, 3, 1, 2, 3)

4.3 判断元素是否在元组中

语法:

元素 in 元组

若存在则返回True,否则返回False

  1. tuple1 = (1, 2, 3)
  2. print( 1 in tuple1)
  3. #结果
  4. True
  1. tuple1 = (1, 2, 3)
  2. print( 5 in tuple1)
  3. #结果
  4. False

4.4 元组的截取

语法:

元组名[start:end]

截取的元组范围[start,end)

功能:获取开始下标到结束下标之前的所有元素。

若不指定start则默认是从开头开始截取到指定位置

若不指定end则默认从指定位置截取到结尾

  1. tuple1 = (1, 2, 3, 8, 'hello', 'good')
  2. tuple2 = tuple1[2:5]
  3. print(tuple2)
  4. #结果
  5. (3, 8, 'hello')
  1. tuple1 = (1, 2, 3, 8, 'hello', 'good')
  2. tuple2 = tuple1[:5]
  3. print(tuple2)
  4. #结果
  5. (1, 2, 3, 8, 'hello')
  1. tuple1 = (1, 2, 3, 8, 'hello', 'good')
  2. tuple2 = tuple1[3:]
  3. print(tuple2)
  4. #结果
  5. (8, 'hello', 'good')

5.元组的方法

5.1 len(tuple)

功能:获取元组元素的个数

  1. tuple1 = (1, 2, 3, 8, 'hello', 'good')
  2. print(len(tuple1))
  3. #结果
  4. 6

5.2 max(tuple)

功能:获取元组中元素的最大值

  1. tuple1 = (1, 2, 3, 8, 20, 13)
  2. print(max(tuple1))
  3. #结果
  4. 20

5.3 min(tuple)

功能:获取元组中元素的最小值

  1. tuple1 = (1, 2, 3, 8, 20, 13)
  2. print(min(tuple1))
  3. #结果
  4. 1

5.4 tuple(list)

功能:将列表转换为元组

  1. list1 = [1, 2, 3, 8, 20, 13]
  2. print(tuple(list1))
  3. #结果
  4. (1, 2, 3, 8, 20, 13)

6.二维元组

与二维列表类似,一个元组中的元素依然是元组,则成为二维元组。

元组名 =(元组1,元组2,…)

  1. tuple1 = ((1, 2, 3),(4, 5, 6),(7, 8, 9))

二维元组取值

元组名[下标1]【下标2】

  1. tuple1 = ((1, 2, 3),(4, 5, 6),(7, 8, 9))
  2. #获取第一个元组的第一个元素
  3. print(tuple1[0][0])
  4. #结果
  5. 1

后记

【后记】为了让大家能够轻松学编程,我创建了一个公众号【轻松学编程】,里面有让你快速学会编程的文章,当然也有一些干货提高你的编程水平,也有一些编程项目适合做一些课程设计等课题。

也可加我微信【1257309054】,拉你进群,大家一起交流学习。
如果文章对您有帮助,请我喝杯咖啡吧!

公众号

关注我,我们一起成长~~

python数据类型之tuple(元组)的更多相关文章

  1. python 数据类型 之 tuple 元组

    python 3.6.5 元组的特性和定义 与列表类型 只不过 [  ] 改成了() 特性: 1.不可变(元组本身不可变,但是可以存可变类型的element){猜测因为可变element的地址不可变而 ...

  2. Python数据类型详解——元组

    Python数据类型详解--元组 有时候我们的列表数据不想被别人修改时该怎么办? 此时,就可以使用元组来存放,元祖又称为只读列表,不能修改 定义方式:与列表类似,将列表的[]换成()即可. 特性: 1 ...

  3. python入门到放弃-基本数据类型之tuple元组

    #概述 元组俗称不可变的列表,又称只读列表,是python的基本数据类型之一, 用()小括号表示,里面使用,逗号隔开 元组里面可以放任何的数据类型的数据,查询可以,循环可以,但是就是不能修改 #先来看 ...

  4. 【Python】(六)Python数据类型-列表和元组,九浅一深,用得到

    您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文分十个章节介绍数据类型中的列表(list)和元组(tuple),从使用说到底层实现,包您满意 干货满满,建议收藏,需要用到时常看看. 小伙伴们 ...

  5. python开发基础(二)运算符以及数据类型之tuple(元组)

    # encoding: utf-8 # module builtins # from (built-in) # by generator 1.147 """ Built- ...

  6. python数据类型:序列(字符串,元组,列表,字典)

    序列通常有2个特点: 1,可以根据索引取值 2,可以切片操作 字符串,元组,列表,字典,都可以看做是序列类型 我的操作环境:Ubuntu16.04+python2.7 一.字符串类型 >按索引获 ...

  7. Python常见数据结构-Tuple元组

    Python Tuple基本特点 元组与列表类似,不同之处在于元组的元素不能修改. 与字符串和列表一样,可以根据下标进行切片索引. 元组使用小括号,单一元素的元组定义是必须加一个逗号. Python ...

  8. python数据类型——列表和元组类型

    列表类型(list) 定义一个列表类型很简单: l = ['a','b','c','d','e','f'] 变量l即为列表类型,可以用type方法查看: print(type(l)) 列表的增删改查 ...

  9. Python数据类型的内置函数之tuple(元组),dict(字典),set(集合)

    Python数据类型内置函数 - str(字符串) - list(列表) - tuple(元组) - dict(字典) - set(收集) tuple(元组)的操作 - (count)统计元组中元素出 ...

随机推荐

  1. MySQL 8.0索引合并

    简介 参考https://dev.mysql.com/doc/refman/8.0/en/index-merge-optimization.html#index-merge-intersection. ...

  2. Centos-显示目录或者目录下文件信息-ls

    ls 显示指定目录信息或指定目录下文件和目录信息,后边不跟文件目录路径信息默认为当前工作目录 默认显示输出信息的总行数统计数 相关参数 -a 显示所有文件或子目录,包含隐藏文档 # linux中以 . ...

  3. 开发基于Django和Websocket的堡垒机

    WebSSH有很多,基于Django的Web服务也有很多,使用Paramiko在Python中进行SSH访问的就更多了.但是通过gevent将三者结合起来,实现通过浏览器访问的堡垒机就很少见了.本文将 ...

  4. 排序算法:冒泡排序(Bubble Sort)

    冒泡排序 算法原理 冒泡排序的原理是每次从头开始依次比较相邻的两个元素,如果后面一个元素比前一个要大,说明顺序不对,则将它们交换,本次循环完毕之后再次从头开始扫描,直到某次扫描中没有元素交换,说明每个 ...

  5. 079 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 04 实例化对象

    079 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 04 实例化对象 本文知识点:实例化对象 说明:因为时间紧张,本人写博客过程中只是对知 ...

  6. 006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序

    006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序 Eclipse下创建程序 创建程序分为以下几个步骤: 1.首先是创建一个 ...

  7. 完全小白入门:python的下载和安装

    1. 打开官网www.python.org,选择Downloads

  8. WSL2 bug

    错误现象 Stdout: Stderr: 2020/05/27 20:01:37 resolving /mnt/host/c/Program Files/Docker/Docker/resources ...

  9. .net core中的那些常用的日志框架(NLog篇)

    前言 咱们上回讲到,.net core中内置的Logging日志框架的使用,以及浅显的讲解,接下来,给大家介绍一个第三方日志框架(NLog). NLog简介 NLog是适用于各种.NET平台(包括.N ...

  10. 使用AirtestProject+pytest做支付宝小程序UI自动化测试

    一,前言 1,背景 因公司业务需要做支付宝小程序的UI自动化测试,于是在网上查找小程序的自动化资料,发现微信小程序是有自己的测试框架的,但几乎找不到支付宝小程序UI自动化测试相关的资料.白piao失败 ...