• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python中列表长度可变吗

python 搞代码 4年前 (2022-01-09) 18次浏览 已收录 0个评论

python中列表长度可变吗?下面给大家介绍一下python中可变和不可变的类型:

可变、不可变
可变/不可变类型,指的是:内存id不变,type也不变的前提下,value是否是可变的。
int()和str()都是不可变类型
列表、字典是可变类型

对于可变对象,比如list,对list进行操作,list内部的内容是会变化的,比如:

>>> a = ['c', 'b', 'a']>>> a.sort()>>> a
['a', 'b', 'c']

相关推荐:《python视频教程》

而对于不可变对象,比如str,对str进行操作呢:

>>> a = 'abc'>>> a.replace('a', 'A')'Abc'>>> a'abc'

虽然字符串有个replace()方法,也确实变出了'Abc',但变量a最后本文来源gaodai#ma#com搞*!代#%^码$网!仍是'abc',应该怎么理解呢?

我们先把代码改成下面这样:

>>> a = 'abc'>>> b = a.replace('a', 'A')>>> b'Abc'>>> a'abc'

要始终牢记的是,a是变量,而'abc'才是字符串对象!有些时候,我们经常说,对象a的内容是'abc',但其实是指,a本身是一个变量,它指向的对象的内容才是'abc':

当我们调用a.replace('a', 'A')时,实际上调用方法replace是作用在字符串对象'abc'上的,而这个方法虽然名字叫replace,但却没有改变字符串'abc'的内容。相反,replace方法创建了一个新字符串'Abc'并返回,如果我们用变量b指向该新字符串,就容易理解了,变量a仍指向原有的字符串'abc',但变量b却指向新字符串'Abc'了:

所以,对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。

以上就是python中列表长度可变吗的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python中列表长度可变吗

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址