Python学习笔记3:元组和集合

Python学习笔记3:元组和集合元组存在意义元组的定义为不可变更的有序对象集合,和列表只有一个区别:不可改变。也就是说元组声明后是不能改变其内容的。这有意义吗?列表不是已经很好用了嘛。不,这真的很有意义。我们回想以下Java或者PHP,在实际使用中是不是会声明大量的const值,比如错误代码,或者描述性文字之类的直接写入代码的硬编码部分。这些内容都是一旦声明你就不希望其它程序有意或者无意地去改写。但这些在Python中是无法实现的,因为Python并不支持const,而元组就是一种代替品。
摘要由CSDN通过智能技术生成

Python学习笔记3:元组和集合

元组

存在意义

元组的定义为不可变更的有序对象集合,和列表只有一个区别:不可改变。也就是说元组声明后是不能改变其内容的。

这有意义吗?列表不是已经很好用了嘛。不,这真的很有意义。

我们回想以下Java或者PHP,在实际使用中是不是会声明大量的const值,比如错误代码,或者描述性文字之类的直接写入代码的硬编码部分。这些内容都是一旦声明你就不希望其它程序有意或者无意地去改写。

但这些在Python中是无法实现的,因为Python并不支持const,而元组就是一种代替品。

《Head first Python》一书指出元组的性能是远优于列表的,Python解释器在这方面有针对性优化。当然这点是很容易理解的,毕竟对于一个兼顾数组和链表,功能相对复杂的容器,一个不可变的简单数据结构自然在某些性能上会胜过。但这里还是有很多东西可以细细琢磨,比如空间复杂度列表显而易见的要高出,但在读取方面,元组的时间复杂度是真的能优于列表?它是怎么做到的?

创建

直接声明

要直接声明一个元组可以这样:

a = ("a","b","c")
print(a)

输出

(‘a’, ‘b’, ‘c’)

这很容易,和列表的唯一区别就是把中括号换成了小括号。

但有一种特例需要特别说明,如果你要声明的元组中只包含一个元素,那你不能写成('a'),而是要写成('a',),原因也很明显,对于前者,Python解释器会认为()是优先级运算符,而非元组声明,只有加入一个逗号才能确实指明这里是元组声明。

类型转换

类型转换也很好理解,既然元组就是不能改变的列表,那当然可以直接由列表转换成元组,当然字符串什么的也是可以的:

a = 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值