前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python入门(10)

Python入门(10)

作者头像
高一峰
发布2020-09-22 09:50:26
6380
发布2020-09-22 09:50:26
举报
文章被收录于专栏:高渡号外
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能为不同的应用场景或需求,提供技术支持。

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 高渡号外 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档