专栏首页高渡号外Python入门(10)

Python入门(10)

Python入门(10/18)

数据结构:元组

大家好,咱们继续讲Python四大数据结构,今天的主题是:元组。

1、元组(tuple)

元组(tuple)和列表(list)很相似,但是,列表允许并且提供了方法来改变它的值,而元组是不可改变的,即不允许你改变它的值,这应该也是它没有方法的部分原因。所以,有人把它称作“带了紧箍咒的列表”。

所以,请记住:

(1)、元组中包含的对象是不可更改的,注意不是元组不可更改。

(2)、元组因为更新或删除,其长度因此发生变化。

(3)、元组的主要作用是作为参数传递给函数调用、或是从函数调用那里获得参数时,保护其内容不被外部接口修改。

(4)、元组在前台用的不多,但是在后台却使用得相当频繁。

2、创建一个元组

将用逗号分隔的对象置于一对圆号之中,就创建了一个元组。

PS:虽然,元组通常存在于圆括号中,但形式上仅有圆括号是不够的,是否有逗号,才能决定它是不是一个元组。

说明:我们特地使用了前面列表示例的所有对象,来创建一个元组,它们看起来除了括号不同,是不是长得很相像?请注意,如何定义一个空的元组和只有一个单项的元组。看看最后定义的tuple6真的是一个元组吗?

3、访问元组中的值

说明:

1、显示:交互模式下的代码可以省略print()。

2、索引:使用下标访问元组中对象的值。

3、负索引:使用负数下标实现倒序索引。

4、通过-1索引:获取最后一项的值。

5、切片:使用冒号分节符进行切片操作。

6、特殊切片:获取一个完整的倒序元组。

4、更新元组

我们可以使用重新赋值、append()方法对元组进行修改或更新。

说明:

1、利用切片实现插值;

2、使用append()方法向列表的末尾追加新的项。

3、元组无法通过索引,直接为指定下标的项重新赋值,也不能使用del语句,通过索引删除指定下标的项。

5、元组的操作符

元组对 + 和 * 的操作符与列表相似。+ 号用于合并,* 号用于重复。

6、元组和列表的相互转换

元组与列表的转换操作,让它可以方便地将列表转换为元组,再利用元组的“惰性”,将它作为参数传递给函数调用、或是从函数调用那里获得参数时,保护其内容不被外部接口修改。

7、zip()与zip(*)

说明:

(1)、zip()会将两个以上的序列,打包到一个zip对象(由元组构成的新的序列)之中。

(2)、这个新的序列可以通过迭代遍历,也可以直接转换为一个列表或元组。

(3)、但无论哪种方式,只能读取一次,再读返回空值。

(4)、zip()操作,实际上适用于支持迭代操作的所有序列,甚至包括字符串。

说明:

(1)、zip(*)会将一个二维的序列,解包成两个以上的序列,并生成为一个zip对象。

(2)、解包这个对象,会发现它其实就是打包之前的多个序列,所以,zip()和zip(*)可以成为互逆的操作。

(3)、zip(*)也只支持一次性读取。再读返回空值。

(4)、zip()和zip(*)的操作在形式上实现了多个序列的行列互换。记住这个特性,我们在一些特定场合用得上。

7、函数利用* ,实现任意参数的传递

函数可以利用通配符*,实现任意数量的参数传递。

说明:此处,x的值为何被显示为元组,因为函数的参数本身就是位于圆括号中,且由逗号分隔的对象,在Python中,它当然就是元组了,它也体现了Python语法在内容和形式上的统一。

小结

这节课,我们学习了Python的数据结构:元组。详细了解了它的创建和使用方法,以及元组与列表的差异,及其相互转换。

预告

下节课,我们将继续介绍Python数据结构之三:字典,它也是Python四大常用数据结构之一。我们会发现,虽然它也是一种序列类型的数据结构,但是,它却具有为完全不同的内部组织形式,从而,让Python能为不同的应用场景或需求,提供技术支持。

您有任何疑问和建议,请留言。

本文分享自微信公众号 - 高渡号外(igaodu),作者:aDu

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 极简是Python的灵魂 | Python代码找bug(10)

    (1)一个是真正的bug。请注意range()方法的参数,此处不仅是希望以X矩阵式列表长度为循环的最大次数,而且,也是循环变量i的取值范围,i将会是X列表的索引...

    高一峰
  • Python入门(12)

    集合(set)是一个无序不重复的序列。通常,我们使用集合来消除重复元素,或者用于测试两个序列的关系:交集、并集或差集?

    高一峰
  • 夯实Python基础(6)

    os.rmdir() 删除空目录(删除非空目录, 使用shutil.rmtree())

    高一峰
  • 爬虫 (十三) 学习 python 基础知识点的正确姿势 (六)

    我会以比较学习的方式,主要拿Python和我之前学习的javascript进行比较,拿学习javascript的学习经历来迁移到学习Python,如果你在此之前...

    公众号---志学Python
  • python_元组 学习

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

    Mirror王宇阳
  • python中元组的用法整理

    元组:tuple 内部只有两个可以操作的函数[count()/index()],一个是查看一个数据在元组中出现的总数另一个是查看。

    砸漏
  • 零基础Python教程045期 元组的增删改查测试实验

    有元素的元组,括号内必须要有逗号,有很多的函数以及数据处理后,我们往往只返回的结果是一个元组的形式

    刘金玉编程
  • 4.91Python数据类型之(6)元组

    py3study
  • python中的元组

    和列表一样 也可以使用数字索引提取元素中的值 然而最常用的方法是将元组解包为一组变量:

    py3study
  • 技术 | Python从零开始系列连载(九)

    导读 Python特色数据类型(元组)(上) 元组(tuple) 元组是Python的另一种特色的数据类型 元组和列表是相似的 可以存储不同类型的数据 但是!划...

    灯塔大数据

扫码关注云+社区

领取腾讯云代金券