Python中列表和元组的异同

给大家推荐一个代码执行过程中可视化的网站,支持多种语言:

http://www.pythontutor.com/

list 是可变的对象,元组 tuple 是不可变的对象!

由于 tuple 不可变,所以使用 tuple 可以使代码更安全

一、元组的作用:

1. 函数返回(return)多个值

 其实这里存在一个假象,Python函数返回的值本质上还是一个单值,看下面代码:

从打印结果可以看出,这里返回值就是一个tuple!由于在语法上,返回一个tuple是可以省略括号的,而多个变量可以同时接收一个tuple,按位置赋给对应的值。

所以,Python的函数返回多值时,其实就是返回一个tuple。

2. tuple 不可变的好处

相对于 list 而言,tuple 是不可变的,这使得它可以作为 dict 的 key,或者扔进 set 里,而 list 则不行。

tuple 放弃了对元素的增删(内存结构设计上变的更精简),换取的是性能上的提升:创建 tuple 比 list 要快,存储空间比 list 占用更小。所以就出现了“能用 tuple 的地方就不用 list”的说法。

多线程并发的时候,tuple 是不需要加锁的,不用担心安全问题,编写也简单多了
二、元组的操作

1、创建和访问一个元组如果创建一个空元组,直接使用小括号即可;
如果要创建的元组中只有一个元素,要在它的后面加上一个逗号‘,’。

2、更新和删除元组

直接在同一个元组上更新是不可行的,但是可以通过拷贝现有的元组片段构造一个新的元组的方式解决

感谢这位答主:

https://blog.csdn.net/ruanxingzi123/article/details/83184909 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值