python列表與字符串、元組的區別以及列表引用的方式


一、字符串

字符串也可以用下標取值、切片、for循環、len()取長度以及 in 和 not in 來進行操作。

但字符串是不可變的,不能被更改。只能構造一個“新的”字符串來存取你想要修改后的數據。

二、元組

元組與列表幾乎一樣,但是元組輸入時使用小括號並且元組和字符串一樣,不可變。

如果元組中只有一個值,你可以在括號內該值的后面跟上一個逗號,表明這種情況。否則,Python將認為你只是在括號內輸入了一個值。 #列表最后也可以是逗號

三、引用

列表賦給一個變量時,實際上是將列表的“引用”賦給了該變量。引用是一個值,指向某些數據(列表的實際位置)。

根據上圖所示,按道理a的值不應被修改,但是列表賦給a的是列表的“引用”,a賦給b的也是列表的“引用”,a和b都指向同一個地方(列表的實際位置)。

 

如果你不希望修改b時a的值也變化那么你可以使用python的copy()模塊。python提供了名為copy()的模塊,其中包含copy()和deepcopy()函數。

而copy.copy()函數可以復制列表或字典這樣的可變值,而不是復制其“引用”。

當你要復制的列表中包含了列表,那就使用copy.deepcopy()函數來代替。

如果只使用copy()來復制包含了列表的列表時,僅僅只將外面的大列表給復制了,但是里面小的列表還是“引用”,如:

使用deepcopy()便可以將所有的列表復制,如:

更深的列表嵌套也沒問題:

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM