關於tuple陣列的不可變特性

2022-08-20 19:24:14 字數 576 閱讀 2872

今天在學習過程中遇見了一組**,對於現在的我來講有些神奇

test = 1, 2test += 12, 34
乍一看完全懵逼,不知道是為啥

對於我 來說,看見不懂的**,第一時間就是想到在互動命令列來直接執行,瞅著比較直觀,何況又是這種簡單的**

執行完之後就一目了然了,但是又有點問題的感覺,tuple陣列不是號稱是不可變的資料型別麼,也就是不能再往裡新增元素了啊

再執行如下**,就恍然大悟了,還是自己理解不夠

test = 1, 2 這行**是給test賦值(1, 2), 只是括弧可以省略

test += 12, 34 這行**相當於是陣列的相加,賦值給乙個新的變數(變數名還是test),原有陣列並沒有變化,只是沒有變數指向原有物件(1, 2),應該是被**了

於是,變數test指向了新的陣列(1, 2, 12, 34)

Python不可變物件元組(tuple)詳解

元組和列表很相似,不過元組是不能在原處改變的物件,這點性質和字串一致,雖然元組不支援任何方法呼叫,但是元組具有列表的大多數屬性,以下是元組的一些特性。一些基礎定義 空元組 t 簡單元組 t 1,2,3,4 print t 巢狀元組 t 1,2,3 4 print t 1 1 示例結果 1,2,3,4...

32 元組tuple(不可變資料)

列表屬於可變序列,可以任意修改列表中的元素。元組屬於不可變序列,不能修改元組中的 元素。因此,元組沒有增加元素 修改元素 刪除元素相關的方法。因此,我們只需要學習元組的建立和刪除,元組中元素的訪問和計數即可。元組支援如 下操作 索引訪問 切片操作 連線操作 成員關係操作 比較運算操作 計數 元組長度...

Object C 中的可變陣列和不可變陣列

在oc中,我們用 nsarray 類 和 nsmutablearray 類來表示陣列,其中,nsarray 類 是 nsmutablearray 類的父類。在oc中,我們陣列是有序的 物件 的集合,即我們的陣列只能儲存 物件 在oc中我們的陣列中元素型別不能是 int float cgpoint 等...