list的概念
符號 [ ]
Python內(nèi)置的一種數(shù)據(jù)類型是列表:list。list是一種有序的集合,可以隨時添加和刪除其中的元素。
列表的作用 存儲數(shù)據(jù)
存儲的數(shù)據(jù)是同一個類型時,建議使用列表
list是一個可變的有序表
- 可以存在空列表
- 列表中可以包含任何數(shù)據(jù)類型
- 列表中的元素用逗號分開
list取單個元素
列表的單個值a[0]
列表的切片 同字符串的操作(取頭不取尾)
list增加數(shù)據(jù)
- append(數(shù)據(jù)) 只能加一個數(shù)據(jù)
- insert(索引,數(shù)據(jù)) 可以放在任意位置,需要指定索引位置
list刪除數(shù)據(jù)
- pop() 默認(rèn)刪除最后一個元素,()傳入索引就會刪除指定索引的元素
- pop() 的返回值是被刪除的那個元素
- remove(值) 刪除指定的值
list修改元素
a[索引值] = 新值
tuple的概念
符號 ( )
tuple和list非常類似,但是tuple一旦初始化就不能修改
用法 用來操作數(shù)據(jù)庫 存放條件
tuple是一個不可變的有序表
不支持增刪改
- 可以存在空元組a = ()
- 里面可以包含任何類型的數(shù)據(jù)
- 元組里面的元素 根據(jù)逗號來進行分隔
- 里面的元素 也是有索引的
特點:
元組里邊的列表內(nèi)部是可以修改的,其他類型的值不可以
相反 列表里邊的元組內(nèi)部是不能修改的
如果元組里只有一個元素 會默認(rèn)為賦值操作 如需使用元組需要加逗號
a = ([1,2], )
這是因為括號()既可以表示tuple,又可以表示數(shù)學(xué)公式中的小括號,這就產(chǎn)生了歧義,因此,Python規(guī)定,這種情況下,按小括號進行計算,計算結(jié)果自然是1。
所以,只有1個元素的tuple定義時必須加一個逗號,,來消除歧義
dict的概念
符號{ }
特點:無序排列,沒有索引
dict全稱dictionary,在其他語言中也稱為map,使用鍵-值(key-value)存儲,具有極快的查找速度。
請務(wù)必注意,dict內(nèi)部存放的順序和key放入的順序是沒有關(guān)系的。
- 可以存在空字典a = {}
- 字典里面數(shù)據(jù)存儲的方式: key:value
- 字典里面value可以包含任何類型的數(shù)據(jù)
- 字典里面的元素,用逗號分隔
- 字典的key是唯一的,重復(fù)賦值會覆蓋
拓展:
dict有以下幾個特點:
查找和插入的速度極快,不會隨著key的增加而變慢;
需要占用大量的內(nèi)存,內(nèi)存浪費多。
而list相反:
查找和插入的時間隨著元素的增加而增加;
占用空間小,浪費內(nèi)存很少。
所以,dict是用空間來換取時間的一種方法。
dict的key必須是不可變對象。
這是因為dict根據(jù)key來計算value的存儲位置,如果每次計算相同的key得出的結(jié)果不同,
那dict內(nèi)部就完全混亂了。這個通過key計算位置的算法稱為哈希算法(Hash)。
dict的取值
變量名[key]
dict刪除值
變量名.pop(key)
會返回value值
新增
變量名[新key] = 新value
修改
變量名[存在的key] = 新value