《数据科学与分析:Python语言实现》 —2.2.6 元组

举报
华章计算机 发表于 2020/02/15 19:34:50 2020/02/15
【摘要】 本节书摘来自华章计算机《数据科学与分析:Python语言实现》 一书中第2章,第2.2.6节,作者是[英]赫苏斯·罗格尔–萨拉查(Jesús Rogel-Salazar),白 皓 刘江一 上官明乔 刁 娟 译。

2.2.6 元组

元组可以视为另一种形式的列表:里面的元素不仅可以是对象的序列集合,也可以是混合类型。它确实与列表密切相关,除了用圆括号“()”定义之外,其主要区别在于元组是不可变的。

如上所述,无法更改不可变对象。换句话说,我们不能添加或删除元组中的元素,因此,与列表不同,它们不能就地进行修改。我们来看一些元组:

 image.png

正如所看到的,与2.2.5节中的列表相比,上述定义中的唯一更改是使用圆括号。与列表一样,元组的元素也可以通过索引来引用:

 image.png

让我们看一看当尝试更改元组的一个元素时会发生什么:

 image.png

这表明直接在元组中进行操作是不可能的。那么排序呢?排序的功能仍然有效。让我们定义一个元组,如下所示:

 image.png

我们现在可以将排序函数应用于元组:

 image.png

 image.png

还不错,对吗?但是你注意到一些奇怪之处了吗?好吧,似乎结果不再是一个元组,而是列表!我们可以看到,是方括号而非圆括号,我们可以通过使用type命令来确保这一点:

 image.png

这是元组不可变的结果:允许元组元素排序的唯一方法是使用列表的可变特性将其转换为列表后再排序。类似地,由于元组的元素不能改变,因此无法直接对其使用排序方法。我们来看一看:

 image.png

正如Python返回的错误所述,元组没有sort属性。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。