一、列表
1.任意物件的有序集合
列表是一組任意型別的值,按照一定順序組合而成的
2.通過偏移讀取
組成列表的值叫做元素(elements)。每乙個元素被標識乙個索引,第乙個索引是0,序列的功能都能實現
3.可變長度,異構以及任意巢狀
列表中的元素可以是任意型別,甚至是列表型別,也就是說列表可以巢狀
4.可變的序列
支援索引、切片、合併、刪除等等操作,它們都是在原處進行修改列表
5.物件引用陣列
列表可以當成普通的陣列,每當用到引用時,python總是會將這個引用指向乙個物件,所以程式只需處理物件的操作。當把乙個物件賦給乙個資料結構元素或變數名時,python總是會儲存物件的引用,而不是物件的乙個拷貝
二、元組
1.任意物件的有序集合
與列表相同
2.通過偏移訪問
與列表相同
3.屬於不可變序列型別
類似於字串,但元組是不可變的,不支援在列表中任何原處修改操作,不支援任何方法呼叫
4.固定長度、異構、任意巢狀
固定長度即元組不可變,在不被拷貝的情況下長度固定,其他同列表
5.物件引用的陣列
與列表相似,元祖是物件引用的陣列
和list相比
1.比列表操作速度快
2.對資料「寫保護「
3.可用於字串格式化中
4.可作為字典的key
三、字典
1.通過鍵而不是偏移量來讀取
字典就是乙個關聯陣列,是乙個通過關鍵字索引的物件的集合,使用鍵-值(key-value)進行儲存,查詢速度快
2.任意物件的無序集合
字典中的項沒有特定順序,以「鍵」為象徵
3.可變長、異構、任意巢狀
同列表,巢狀可以包含列表和其他的字典等
4.屬於可變對映型別
因為是無序,故不能進行序列操作,但可以在遠處修改,通過鍵對映到值。字典是唯一內建的對映型別(鍵對映到值的物件)
5.物件引用表
字典儲存的是物件引用,不是拷貝,和列表一樣。字典的key是不能變的,list不能作為key,字串、元祖、整數等都可以
和list比較,dict有以下幾個特點:
1.查詢和插入的速度極快,不會隨著key的增加而增加
2.需要占用大量的記憶體,記憶體浪費多
而list相反:
1.查詢和插入的時間隨著元素的增加而增加
2.占用空間小,浪費記憶體很少
所以,dict是用空間來換取時間的一種方法
四、集合
1.是一組key的集合,但不儲存value,並且key不能重複
建立乙個set,需要提供乙個list作為輸入集合,s = set([1,2,3]),注意,傳入的引數 [1, 2, 3] 是乙個list,而顯示的 set([1, 2, 3]) 只是告訴你這個set內部有1,2,3這3個元素,顯示的[ ]不表示這是乙個list
2.重複元素在set中自動被過濾
set可以看成數學意義上的無序和無重複元素的集合,因此,兩個set可以做數學意義上的交集、並集等操作
還有一種集合是forzenset( ),是凍結的集合,它是不可變的,存在雜湊值,好處是它可以作為字典的key,也可以作為其它集合的元素。缺點是一旦建立便不能更改,沒有add,remove方法
和dict對比
1.set和dict的唯一區別僅在於沒有儲存對應的value
2.set的原理和dict一樣,同樣不可以放入可變物件,因為無法判斷兩個可變物件是否相等,也就無法保證set內部「不會有重複元素」
Python列表,元組,字典的區別
python列表,元組,字典的區別 1 元組是不可變的,而列表 字典是可變的。元組是不可變物件,物件一旦生成,它的值將不能更改 列表是可變物件,物件生成後,可以對其元素進行更改 新增 刪除 清空 排序等操作。2 元組通常是由不同的資料,而列表是相同的資料佇列。元組表示的是結構,而列表表示的是順序。列...
python 元組 字典 列表的區別
python中,有3種內建的資料結構 列表 元組和字典。1.列表 list是處理一組有序專案的資料結構,即你可以在乙個列表中儲存乙個序列的專案。列表中的專案。列表中的專案應該包括 在方括號中,這樣python就知道你是在指明乙個列表。一旦你建立了乙個列表,你就可以新增,刪除,或者是搜尋列表中的專案。...
python 列表 元組 字典的區別
一 列表 1.任意物件的有序集合 列表是一組任意型別的值,按照一定順序組合而成的 2.通過偏移讀取 組成列表的值叫做元素 elements 每乙個元素被標識乙個索引,第乙個索引是0,序列的功能都能實現 3.可變長度,異構以及任意巢狀 列表中的元素可以是任意型別,甚至是列表型別,也就是說列表可以巢狀 ...