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末了还是'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中列表长度可变吗的细致内容,更多请关注ki4网别的相干文章!