《我的再生兄弟》—一个带了枷锁的列表

我是一个python元组。有人喜欢这样评价我是一个戴上了加锁的列表。难道我带上枷锁就不一般了?

我的前生今世

我的前身是一个python数组,后来有人看我性格比较随意,于是在一天夜里,给我打了一针激素,然后一路过关斩将,出人CEO,赢取白富美。可谓顺风顺水,职场情场双丰收。

可是,这天我这个哥们耐不住寂寞,又打起了我们美丽又可爱的苍井空老师的注意。 居然想把列表里的任期替换成苍井空老师。活生生的把我们的苍老师给抢走,金屋藏娇啊!

可是很多屌丝就不同意了,有的说苍老师是大家的,可不能让你们给霸占了,,还有人气急败坏说,苍老师还是处女呢,怎么能纳入人气的范畴?

可恶!于是轰轰烈烈的抗议从此拉开!

可谓‘得屌丝着的天下,逆屌丝者必遭殃‘!列表同志真是千古共鸣一句沉呐!

自从列表比抓了之后,太祖皇上感觉大师不妙了,可能给列表的权力太大了,我们应该个一些限制,所以,就推出了新的函数——元祖。

好了,别扯了,赶紧忘记苍老师吧,干正事要紧!!!

Python的元组与列表类似,同样可通过索引访问,支持异构,任意嵌套。不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。

元组和数组或者列表有一个很大的区别:

元组是一种不可改变的类型。元组是一诺千金的。如果你创建了一个元组,里面的元素就别想改变他了。

类似于java中的字符串不可改变!元组也是如此!

一个 Python 初学者的普遍疑问:列表与元组的区别是什么?

答案是:它们之间有两点不同,并且二者之间有着复杂的相互作用。它们分别是”技术上”的差异和“文化上”的差异。

首先,有一点是相同的:

列表与元组都是容器,是一系列的对象。

p1.png

二者都可以包含任意类型的元素甚至可以是一个序列,还可以包含元素的顺序(不像集合和字典)。

p2.png

现在来讲讲区别。列表和元组的“技术差异”是,列表是可变的,而元组是不可变的。这是在 Python 语言中二者唯一的差别。

列表有一个 append() 的方法来添加更多的元素,而元组却没有这个方法:

元组并不需要一个 append()方法,因为元组不能修改。如果强制调用这个方法,则就会抛出异常。

我和元组兄弟一样,倍数乘法迭代

#### 我们一样的用法

1、逻辑操作符

2、关系操作符

3、成员操作仿

4、比较操作符

 tuple没有
 append
 extend
 remove
 pop
 等增删改操作
 tuple没有find
接下来做个总结吧

1.元组是以圆括号“()”包围的数据集合,不同成员以“,”分隔。通过下标进行访问

2.不可变序列,可以看做不可变的列表,与列表不同:元组中数据一旦确立就不能改变(所以没有类似列表的增删改操作,只有基本序列操作)

3.支持任意类型,任意嵌套以及常见的序列操作

4.元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变

举个栗子?
t = ()  #空元组
t =(1,)  #单个元素元组,注意逗号必须
t =(1,2,3)

1 in t #判断
2 not in t

#其他同序列基本操作:分片,索引
print t[0]
print t[-1]
print t[:2]

#不会对原来元组造成影响
print t+(4,5)  #返回新元组(1,2,3,4,5)
print t * 2    #(1,2,3,1,2,3)
t.index(1)
t.count(1)

#列表元组转换
l = [1,2,3]
lt = tuple(l)
tl = list(lt)
lt_sorted = sorted(l)  #对元组进行排序,返回是列表

#字符串转元组(得到字符元组序列)
print tuple('hello)   #('h','e','l','l','o')
元组定义易错点

*一个和多个的区别是定义1个后面必须有”,”否则就是 类型 “str”*

元组的优势
1.性能

tuple比列表操作速度快

若需要定义一个常量集,或者是只读序列,唯一的操作是不断遍历之,使用tuple代替list

2.不可变性

对不需要的数据进行“写保护”,使代码更加安全

阅读更多

适合Python初学者的笔记总结

Python探究之旅—Python语言的基本认识

来一起愉快的开始Python吧

高级UI特效仿直播点赞效果—一个优美炫酷的点赞动画

一个实现录音和播放的小案例

NDK项目实战—高仿360手机助手之卸载监听

玩转自定义柱形图—教你玩一把牛逼的

相信自己,没有做不到的,只有想不到的

微信公众号:终端研发部

技术+职场

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

androidstarjack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值