元组

元组和列表类似,但属于不可变序列,元组一旦创建,用任何方法都不可修改其元素。

元组的定义方式和列表相同,但定义时所有元素是放在一对圆括号“()”中,而不是方括号中。

1.元组创建

使用”=”将一个元组赋值给变量

>>> a_tuple=('a','b','mpilgrim','z','example')
>>> a_tuple
('a', 'b', 'mpilgrim', 'z', 'example')
>>> a = (3)    # 这里的括号代表数学里面的小括号
>>> a
3
>>> a = (3,)      # 包含一个元素的元组,最后必须写多个逗号
>>> a
(3,)
>>> a = 3,      # 也可以这样去创建元组
>>> a
(3,)
>>> x = ()      # 创建空元组
>>> x
()

使用tuple函数将其他序列转换为元组

>>> tuple('abcdefg')     # 把字符串转换为元组
('a', 'b', 'c', 'd', 'e', 'f', 'g')
>>> aList = [-1,-4,6,7.5,-2.3,9,11]
>>> aList
[-1, -4, 6, 7.5, -2.3, 9, 11]
>>> tuple(aList)        # 把列表转换为元组
(-1, -4, 6, 7.5, -2.3, 9, 11)
>>> s = tuple()        # 空元组
>>> s
()

2 .访问元组

元组可以使用下标索引来访问元组中的值,与列表类似

>>> a = ('a','b','c')
>>> a[0]
'a'  

因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素

>>> c = ('a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c')
>>> c[2:4]
('c', 'a')

3 .修改元组

与字符串和列表一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组

'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:531509025
'''>>> a = ('a','b','c')
>>> a[0]
'a'
>>> a = ('a','b','c')
>>> b = (1,2,3)
>>> a + b
('a', 'b', 'c', 1, 2, 3)
>>> a*3
('a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c')
>>>

注意:这里修改元组的意思其实是返回了一个新的元组,并没有对原来的元组进行修改

4. 删除元组

使用del可以删除元组对象,不能删除元组中的元素

>>> a = ('a','b','c')
>>> a
('a', 'b', 'c')
>>> del a
>>> a
Traceback (most recent call last):
File "<pyshell#38>", line 1, in <module>
a
NameError: name 'a' is not defined

5.元组常用函数

>>> student= (1, "tom", "2008-05-06", 10, 135.7)
>>> print(len(student))    # len 返回元组的元素个数
5
>>> num=(1, 2, 3, 4, 5, 6, 7 )
>>> print (max(num))    # max 返回元组元素最大值
7
>>> num=(1, 2, 3, 4, 5, 6, 7 )  
>>> print (min(num))    # min 返回元组元素最小值
1

6.元组与列表的区别

元组一旦定义就不允许更改。
元组没有append()、extend()和insert()等方法,无法向元组中添加元素。
元组没有remove()或pop()方法,也无法对元组元素进行del操作,不能从元组中删除元素。
从效果上看,tuple( )冻结列表,而list( )融化元组。

7.元组的优点

元组的速度比列表更快。如果定义了一系列常量值,而所需做的仅是对它进行遍历,那么一般使用元组而不用列表。

元组对不需要改变的数据进行“写保护”将使得代码更加安全。

元组可用作字典的“键”,也可以作为集合的元素。列表永远不能当做字典键使用,也不能作为集合的元素,因为列表不是不可变的。

注意:如果元组里面的元素嵌套着列表,那么这个列表中的元素其实是可变的。

>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])
>>>

所以这里的理解应该是元组 t 里面的元素本身不可变,但是其中有一个元素是一个list,我们对list中的元素进行了修改,但是并没有对元组里面的元素进行修改,所以这里运行才是正常的。

Python基础教程:元组详细使用相关推荐

  1. 最后一篇,小白看的Python基础教程,详细得很(十一)

    @Author:Runsen 往期回顾: 第一篇.小白看的 Python 基础教程,详细得很(八) 第二篇.小白看的 Python 基础教程,详细得很(九) 第三篇.小白看的 Python 基础教程, ...

  2. 九、给小白看的第二篇Python基础教程

    本文是第二篇 @Author:Runsen @Date:Writern By 2019/04/15 and supplied By 2020/3/31 @公众号:Python之王 本系列Python基 ...

  3. Python基础教程,Python神仙级入门教程(非常详细)

    Python 是一门开源免费.通用型的脚本编程语言,它上手简单,功能强大,坚持「极简主义」. Python 类库(模块)极其丰富,这使得 Python 几乎无所不能,不管是传统的 Web 开发.PC ...

  4. python入门教程非常详细-Python编程入门教程:从入门到高级,非常详细

    本文的资料和内容是我下载的,觉得非常有用,于是转过来大家瞧瞧: 这里给初学Python的朋友提供一些建议和指导吧.大神请无视, 俗话说:授人以鱼不如授人以渔.所以我这里只是阐述学习过程,并不会直接详细 ...

  5. python入门教程 非常详细-Python编程入门教程:从入门到高级,非常详细

    本文的资料和内容是我下载的,觉得非常有用,于是转过来大家瞧瞧: 这里给初学Python的朋友提供一些建议和指导吧.大神请无视, 俗话说:授人以鱼不如授人以渔.所以我这里只是阐述学习过程,并不会直接详细 ...

  6. python基础教程书籍-Python学习必看书籍_带你高效学习

    坚持就是胜利,祝你成功!!! 都说python是最好的语言. 1.<笨办法学Python 3> 入门强烈推荐 本书是一本Python入门书,适合对计算机了解不多,没有学过编程,但对编程感兴 ...

  7. 《Python基础教程(第3版)》笔记:第8章异常

    <Python基础教程(第3版)>笔记:异常 重点 第8章 异常 异常对象未被处理(或捕获)时,程序将终止并显示一条错误信息:traceback 每个异常都是某个类的实例, 如何创建异常 ...

  8. python黑马教程ppt_,python基础教程 PPT

    python基础教程 PPT Python我这里有Python编开发,进阶,化,实战等系列视频教程,还有安装包,素材,代码内容,这里就不一一说了,全套内容一共300G左右,非常的详细,需要的请到网盘下 ...

  9. python基础教程 pdf github_Python极速入门的多本最佳书籍,不可错过的Python学习资料...

    Python作为现在很热门的一门编程语言,介于Python的友好,许多的初学者都将其作为首选,为了帮助大家更好的学习Python,我筛选了2年内优秀的python书籍,个别经典的书籍扩展到5年内. p ...

  10. Python基础教程(第3版)》笔记:第6章抽象

    Python基础教程(第3版)>笔记:第6章抽象 **斐波那契数列:**每个数都是前两个数的和. fibs = [0,1] for i in range(8):fibs.append(fibs[ ...

最新文章

  1. mybatis直接使用自定义sql查询数据
  2. vue中使用elmentUI的Upload组件提交文件和后台接收
  3. 深入了解数据人才 | 中国数据人才白皮书
  4. eclispe的三个重要配置文件
  5. Linux Redis 重启数据丢失解决方案,Linux重启后Redis数据丢失解决方
  6. 网页开发浏览器兼容性问题
  7. saltstack学习篇
  8. Find and Delete Files with Extension Name
  9. HTML 为啥称“超文本标记语言”?
  10. linux oracle查看服务,技术|如何查看 Linux 中所有正在运行的服务
  11. ACL2016最佳论文:通过交互学习语言游戏
  12. Android Studio 实现视频播放暂停功能
  13. 计算机应用基础 第一次形成作业(计算机知识综合测试,在线答题)
  14. 硅谷高管中国行感受:思维太单一,996式加班意义不大
  15. docker 离线安装字体库
  16. Linux 脚本执行遇到错误时中止,shell 文件内容替换 sed用法
  17. 硕士论文免费查重网站不靠谱,最好用知网!
  18. 手动脱壳----PECompact 2.x - Jeremy Collake
  19. 游戏翻译工具截屏翻译工具源代码 图片单词识别
  20. php 判断是否是域名,用PHP判断顶级域名

热门文章

  1. 一目了然“之IT运维可视化,让运维不再说难!
  2. 抓个Firefox的小辫子,围观群众有:Chrome、Edge、IE8-11
  3. spring Cloud中,解决Feign/Ribbon整合Hystrix第一次请求失败的问题?
  4. Android开发中adb命令的常用方法
  5. 快速排序算法C#实现
  6. asp.net2.0中通过CS代码来动态的指定aspx页面中head中的信息
  7. SQL结构化查询语言中的LIKE语句
  8. mysql 5.1.60.tar.gz_linux下安装mysql-5.1.51.tar.gz
  9. SAP ERP差异来源和差异处理
  10. 应届毕业生突破909万,数据盘点哪行工资最高,有你心仪的吗?