元组

元组不可改变,只要定义完成,就已经决定数值,即不可再改变,一般用来保存一些不会改变的数据;与列表类似,列表用中括号而元组用小括号,元组不可改变而列表可以。

tuple和list非常类似,但是tuple一旦初始化就不能修改

1、定义一个元组

1 my_tuple = (32,'djsh',32)2 print(my_tuple)

1.1、定义空元组

1 my_tuple =()2 #或者

3 my_tuple = tuple()

1.2、定义只有一个元素的元组

1 my_tuple = (23,)2 #或者

3 my_tuple = ('dsiud',)

2、通过下标索引来获取元组里的元素

1 my_tuple = (1,3.14,'关羽','张飞','小明')2 #获取小明

3 values = my_tuple[4]4 print(values)

3、修改元组(元组不可修改,可以将两个元组连接成一个)

my_tuple1 = (23,323,2344)

my_tuple2= ('dsl','dsxcii2')#实则是利用运算符

tup3 = my_tuple1 +my_tuple2print(tup3)

4、删除元组(元组不能单独删除某个元素,可以利用内置函数del() 删除整个元组)

1 #定义一个元组

2 my_tuple = (32,'233dssd',232)3 #利用内置函数del删除元组my_tuple

4 delmy_tuple5 print(my_tuple)

# 最后报错就对了,因为已经删除掉了my_tuple,打印不出来

5、获取元组的下标索引和查看某个元素出现的次数

1 my_tuple = (1,32,3.14,'关于','关羽','小明','关羽')2 #获取某个元素的下标索引

3 index = my_tuple.index(3.14)4 print(index)5 #获取某个元素出现的次数

6 count = my_tuple.count('关羽')7 print(count)

6、for循环与while循环遍历元组

1 my_tuple = (1,32,3.14,'关于','关羽','小明','关羽')2 #for循环遍历

3 for i inmy_tuple:4 print(i)5 #while遍历

6 i =07 #内置函数len()统计元组中元素的个数

8 while i

7、另一种解读

7.1、任意无符号的对象,以逗号隔开,默认为元组

my_tup = 23,23,3,'dsdkjh'

print(type(my_tup))

# 结果:

# 类型为tuple

7.2、tuple和list非常类似,但是tuple一旦初始化就不能修改,如:

my_tuple = (6366,'dsf','张飞')

元组my_tuple 现在不能再改变了,没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,可以正常地使用my_tuple[0],my_tuple[-1],但不能赋值成另外的元素。

不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

7.3、tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来

my_tuple = (3, 3, 4)print(my_tuple)#打印结果

(3, 3, 4)#定义空元组

tuple =()print(tuple)

7.4、定义一个元素的元组

1 #定义有且只有一个数字元素的元组

2 #错误方式

3 tuple1 = (1)4 print(tuple)5 #打印结果

6 1

7

8 #正确的定义方式,如下

9 my_tuple = (2,)10 print(my_tuple)11 #打印结果

12 (2,)

上面错误的方式定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。所以,只有1个元素的tuple定义时必须加一个逗号,来消除歧义

7.5、看来是可变的元组

1 my_tuple = (3,23,'梦',[3,'ABX'])2 my_tuple[3][0] = 'HH'

3 print(my_tuple)

这个元组定义的是4个元素的元组,两个数字,一个字符串,一个列表

表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。

解释理解:tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'梦',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。

8、元组内置函数

Python元组包含了以下内置函数

1、cmp(tuple1, tuple2):比较两个元组元素。

2、len(tuple):计算元组元素个数。

3、max(tuple):返回元组中元素最大值。

4、min(tuple):返回元组中元素最小值。

5、tuple(seq):将列表转换为元组。

python中定义元组的符号_python 3 基础之元组tuple,详解相关推荐

  1. python中true是什么意思_Python解惑之True和False详解

    前言 众所周知在Python 中常用的数据类型bool(布尔)类型的实例对象(值)就两个,真和假,分别用True和False表示.在if 条件判断和while 语句中经常用到,不过在Python2.x ...

  2. python中values是什么意思_Python values()与itervalues()的用法详解

    dict 对象有一个 values() 方法,这个方法把dict转换成一个包含所有value的list,这样,我们迭代的就是 dict的每一个 value: d = { 'Adam': 95, 'Li ...

  3. 站长在线Python精讲:在Python中使用split()方法分割、使用join()方法合并字符串详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用split()方法分割.使用join()方法合并字符串详解>.本知识点主要内容有:在Python中使用s ...

  4. python中定义函数常用关键字_Python 中定义函数的关键字是 _________________ 。_学小易找答案...

    [其它]实验4-串和数组-实验任务书.docx [填空题]表达式 'abc' in ['abcdefg'] 的值为______________. [填空题]已知 x = range(1,4) 和 y ...

  5. python中matrix是什么意思_Python的基础语法

    Python的基础语法 在对Python有了基础的认识之后,下面来了解一下Python的基础语法,看看它和C语言.java之间的基础语法差异. 一.变量.表达式和语句 Python中的语句也称作命令, ...

  6. python中哪些是注释符号_Python注释用什么符号

    Python是一种计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的开发. Pytho ...

  7. python中定义变量和数组_Python中的线程和全局变量 - 数组和标准变量之间的区别?...

    我目前尝试使用线程编写一个更大的python程序,并遇到了数组不必被声明为全局的问题.Python中的线程和全局变量 - 数组和标准变量之间的区别? import numpy as np import ...

  8. python函数定义的基本格式_python 函数基础

    一.基本概念 所谓函数就是组织好的,可重复使用的,用来实现单一或相关联功能的代码段. 二.函数定义 定义规则如下:函数代码块以def关键字开头,后接函数标识符名称和圆括号 (): 圆括号里面用来传递参 ...

  9. python中包含的标准数据类型_Python数据类型基础

    1. Python标准数据类型 Python3 中有六个 标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字 ...

最新文章

  1. vue中使用Base64编码和解码
  2. Xamarin XAML语言教程使用Progress属性数据绑定设置进度条进度
  3. 重启docker 服务命令
  4. Logrotate 对服务器日志按照小时切割并压缩
  5. 面向对象上机题-迭归算法
  6. bash/shell编程学习(2)
  7. C语言查看文件fp指针位置
  8. docker 解决php 502,Docker里两个php容器一个正常访问,一个出现502 Bad Gateway nginx/1.17.8。...
  9. mysql的权限管理
  10. 30个值得推荐的数据可视化工具(2022年最新)
  11. 随机抽取一名同学回答问题,7/4更新一次
  12. 条码打印软件之PDF的拆分合并功能
  13. 保姆级教程!Windows右下角扬声器有红叉,点击声音设置输出显示“未安装任何音频输出设备”?
  14. windbg调试kvm windows虚机
  15. U-net网络框架 学习笔记
  16. Java实习生是做什么的?Java实习生工作内容
  17. 《沈工智校》技术支持
  18. PPT之ppt动画的基本设置
  19. 张磊大神的《深入剖析Kubernetes》终于出书啦!
  20. 多道程序设计、多线程和多处理

热门文章

  1. 如何在java中添加照片_Java如何将图片添加到PPT幻灯片中?
  2. 一篇读懂|Linux系统平均负载
  3. 快速开发协同办公OA系统 让企业管理提质增效
  4. 【关于简历】——-从简历看出一个人的性格
  5. 数据库间表结构对比和数据对比
  6. 惠普m1216硒鼓清零步骤_惠普HP各型号打印机冷复位清零恢复出厂设置方法
  7. NO.007-2018.02.12《白头吟》两汉:卓文君
  8. 销售人员必看的书推荐
  9. 错误NDK is missing a platforms directory.
  10. java类加载器—ContextClassLoader类加载器