python中字典长度可变吗_python中列表长度可变吗
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中字典长度可变吗_python中列表长度可变吗的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 14代酷睿赶不上了?消息称台积电3nm工
- 下一篇: 五名前员工披露SpaceX性骚扰乱象:炮