列表
1.任意對象的有序集合
列表是壹組任意類型的值,按照壹定順序組合而成的。
2.通過偏移讀取
組成列表的值叫做元素(Elements)。每壹個元素被標識壹個索引,第壹個索引是0,序列的功能都能實現。
3.可變長度,異構以及任意嵌套
列表中的元素可以是任意類型,甚至是列表類型,也就是說列表可以嵌套。
4.可變的序列
支持索引、切片、合並、刪除等等操作,它們都是在原處進行修改列表。
5.對象引用數組
列表可以當成普通的數組,每當用到引用時,Python總是會將這個引用指向壹個對象,所以程序只需處理對象的操作。當把壹個對象賦給壹個數據結構元素或變量名時,Python總是會存儲對象的引用,而不是對象的壹個拷貝。
相關推薦:《Python教程》
字典
1.通過鍵而不是偏移量來讀取
字典就是壹個關聯數組,是壹個通過關鍵字索引的對象的集合,使用鍵-值(key-value)進行存儲,查找速度快。
2.任意對象的無序集合
字典中的項沒有特定順序,以“鍵”為象征。
3.可變長、異構、任意嵌套
同列表,嵌套可以包含列表和其他的字典等。
4.屬於可變映射類型
因為是無序,故不能進行序列操作,但可以在遠處修改,通過鍵映射到值。字典是唯壹內置的映射類型(鍵映射到值的對象)。
5.對象引用表
字典存儲的是對象引用,不是拷貝,和列表壹樣。字典的key是不能變的,list不能作為key,字符串、元祖、整數等都可以。
和list比較,dict有以下幾個特點:
1.查找和插入的速度極快,不會隨著key的增加而增加。
2.需要占用大量的內存,內存浪費多。
而list相反:
1.查找和插入的時間隨著元素的增加而增加。
2.占用空間小,浪費內存很少。
所以,dict是用空間來換取時間的壹種方法。