python回顧(六)——資料儲存(列表,元組,集合,字典),切片,通用運算子
列表
列表的概念
列表是一種儲存大量資料的儲存模型
列表的特點
列表具有索引的概念,可以通過索引操作列表中的資料。列表中的資料可以進行新增、刪除、修改、查詢等操作
列表的基本語法
建立列表: 變數名 = [資料1,資料2,……]
獲取列表資料: 變數名[索引]
修改列表資料: 變數名[索引] = 值
列表常用方法
方法名 |
功能 |
引數 |
返回值 |
append(data) 關鍵詞:追加 |
在列表的末尾新增資料 |
data:加入到列表中的資料 |
None |
insert(idx,data) 關鍵詞:插入 |
在列表的指定位置插入資料,如果索引位置超過列表資料總量,資料將插入到列表末尾 |
idx:插入資料的索引位置 data:加入列表中的資料 |
None |
extend(model) 關鍵詞:追加全部 |
在列表的末尾新增引數物件中的所有資料 |
model:儲存有資料的儲存模型,該模型接受列表、元組、集合型別的物件 |
None |
remove(data) 關鍵詞:刪除 |
從列表中刪除指定的資料,如果資料不存在將報錯 |
data:要從列表中刪除的資料 |
None |
pop(idx) 關鍵詞:獲取刪除 |
從列表中獲取並刪除指定索引位置上的資料,如果索引值超過列表資料總量將報錯 |
idx:要從列表中獲取的資料對應的索引位置 |
獲取到的資料 |
clear() 關鍵詞:清空 |
清空列表中的資料 |
無 |
None |
index(data) 關鍵詞:查詢位置 |
查詢列表中指定資料對應的索引,如果資料不存在將報錯 |
data:在列表中要查詢的資料 |
查詢資料第一次出現的索引 |
count(data) 關鍵詞:統計數量 |
統計列表中指定資料出現的數量 |
data:在列表中要統計數量的資料 |
統計資料出現的次數 |
元組
元組的概念
元組是一種儲存固定資料的儲存模型
元組的特點
元組具有索引的概念,可以通過索引操作元組中的資料。元組中的資料可以進行查詢操作,但不能進行新增、刪除、修改操作
元組的基本語法
建立元組: 變數名 = (資料1,資料2,……)
獲取元組資料: 變數名[索引]
元組常用方法
方法名 |
功能 |
引數 |
返回值 |
index(data) 關鍵詞:查詢位置 |
查詢元組中指定資料對應的索引,如果資料不存在將報錯 |
data:在元組中要查詢的資料 |
查詢資料第一次出現的索引 |
count(data) 關鍵詞:統計數量 |
統計元組中指定資料出現的數量 |
data:在元組中要統計數量的資料 |
統計資料出現的次數 |
注意事項
元組中的資料如果是非引用型別資料,不允許修改
元組中的資料如果是引用型別物件,該物件不允許替換,而物件的屬性值可以發生改變
元組的特殊應用
自動組包:將多個數據賦值給一個變數時,多個數據將包裝成一個元組,將元組賦值給變數,該過程稱為自動組包。
應用場景:設定返回值為多個值
return 1,2,3 等同於 return (1,2,3)
應用場景:動態字串賦值傳值方式
print(“座標%d,%d” % (10,20))
自動解包:將元組賦值給多個變數時,如果元組資料的數量與變數的數量相同,元組將被自動拆分成多個值,並賦值給對應變數,該過程稱為自動解包。
應用場景:多個變數接收返回值
a,b,c = func()等同於 a,b,c = (1,2,3)等同於a,b,c = 1,2,3
應用場景:動態字串賦值取值方式
print(“座標%d,%d” % (10,20)) 將10給第一個%d,將20給第二個%d
集合
集合的概念
集合是一種儲存大量無序不重複資料的儲存模型
集合的特點
集合沒有索引的概念。集合中的資料可以進行新增、刪除等操作
集合的基本語法
建立集合: 變數名 = {資料1,資料2,……}
集合常用方法
方法名 |
功能 |
引數 |
返回值 |
add(data) 關鍵詞:新增 |
在集合中新增資料 |
data:加入到集合中的資料 |
None |
remove(data) 關鍵詞:刪除 |
從集合中刪除指定的資料,如果資料不存在將報錯 |
data:要從集合中刪除的資料 |
None |
pop() 關鍵詞:獲取刪除 |
從集合中獲取並刪除第一個資料 |
無 |
獲取到的資料 |
clear() 關鍵詞:清空 |
清空集合中的資料 |
無 |
None |
字典
字典的概念
字典是一種使用“鍵值對結構”儲存資料的儲存模型
字典的特點
字典不具有索引的概念,字典使用鍵key代替索引,可以通過鍵操作字典中儲存的資料值value。字典可以根據鍵key進行資料的新增、刪除、修改、查詢操作。
字典的基本語法
建立字典: 變數名 = {鍵1:值1,鍵2:值2,……}
新增資料: 變數名[鍵] = 值 (字典中沒有對應的鍵)
獲取資料: 變數名[鍵]
修改資料: 變數名[鍵] = 值 (字典中存在對應的鍵)
字典常用方法
方法名 |
功能 |
引數 |
返回值 |
pop(key) 關鍵詞:刪除獲取 |
從字典中刪除指定鍵key對應的鍵值對, 如果鍵key不存在將報錯 |
key:要刪除的值value對應的鍵key |
被刪除的值value |
popitem() 關鍵詞:刪除 |
從字典中刪除指定鍵key對應的鍵值對, 如果鍵key不存在將報錯 |
key:要刪除的鍵值對對應的鍵key |
被刪除的鍵值對,以元組的形式返回 |
clear() 關鍵詞:清空 |
清空字典中的資料 |
無 |
None |
setdefault(key,value) 關鍵詞:檢測新增 |
新增新的鍵值對,如果存在對應的鍵, 否則忽略該操作 |
key:要新增的新鍵值對對應的鍵key value: 要新增的新鍵值對對應的值value |
字典中key對應的值,如果是新增則返回引數value, 如果不是新增,返回原始key對應的value |
update(dict) 關鍵詞:更新資料 |
使用新字典中的資料對原始字典資料進行更新 |
dict:新字典物件 |
None |
get(key) 關鍵詞:獲取 |
根據鍵key查詢字典中對應的值, 如果鍵key不存在將返回None |
key:要查詢的鍵key |
根據鍵key在字典中查詢的值value |
keys() 關鍵詞:獲取鍵列表 |
獲取字典中所有的鍵key組成的列表資料 |
無 |
由所有鍵組成的列表 |
values() 關鍵詞:獲取值列表 |
獲取字典中所有的值value組成的列表資料 |
無 |
由所有值組成的列表 |
items() 關鍵詞:獲取鍵值對列表 |
獲取字典中所有的鍵值對列表資料 |
無 |
由鍵值對組成的列表,鍵值對的格式是元組資料 |
注意事項
字典中的鍵是唯一的
字典的作用
1.當需要儲存少量資料,並且期望在程式設計期以最快的速度獲取單個數據, 推薦選擇字典。
2.當需要使用非物件格式儲存單個物件的屬性值,推薦選擇字典。
格式轉換
轉換成列表 |
轉換成元組 |
轉換成集合 |
|
列表list |
— |
tuple(列表物件) |
set(列表物件) |
元組tuple |
list(元組物件) |
— |
set(元組物件) |
集合set |
list(集合物件) |
tuple(集合物件) |
— |
資料儲存結構巢狀
資料儲存結構巢狀概念
資料結構巢狀指一種資料結構中包含的資料是另一種資料結構
公共方法
方法名 |
功能 |
引數 |
返回值 |
len(model) 關鍵詞:資料總量 |
獲取容器模型中的資料總量 |
model:儲存有資料的儲存模型,該模型接受各種容器 |
容器模型中資料的總量 |
max(model) 關鍵詞:最大值 |
獲取容器模型中的最大值,對於字典獲取字典的鍵key的最大值 |
model:儲存有資料的儲存模型,該模型接受各種容器 |
容器模型中資料的最大值 |
min(model) 關鍵詞:最小值 |
獲取容器模型中的最小值,對於字典獲取字典的鍵key的最小值 |
model:儲存有資料的儲存模型,該模型接受各種容器 |
容器模型中資料的最小值 |
切片
切片的作用
獲取列表、元組或字串中的區域性資料
切片基本語法
容器物件[開始索引:結束索引:步長]
特殊格式:
省略開始索引:預設開始索引為0
範例:list1[:5:1] 等同於 list1[0:5:1]
省略結束索引:預設結束索引為資料總量
範例:list1[0::1] 等同於 list1[0:len(list1):1]
省略步長:每次遞增索引數為1
範例:list1[0:5:] 等同於 list1[0:5:1]
負數步長: 反向操作/反向步長操作,需要開始索引、結束索引逆序輸入
範例:list1[5:0:-1]
常見格式:
範例:list1[:5:] 獲取索引5之前的資料(不含5)
範例:list1[4::] 獲取索引4之後的資料(含4)
通用運算子
運算子 |
功能 |
格式 |
適用範圍 |
+ |
將兩個容器資料合併放入第一個容器 |
list1 + list2 |
列表之間或元組之間 (列表與元組之間報錯) |
* |
將容器資料複製n次放入容器中 |
list1 * n |
列表、元組 |
in |
判斷容器中是否包含資料 |
data in list1 |
列表、元組、集合、字典 (字典判斷資料是否在keys()中) |
not in |
判斷容器中是否不包含資料 |
data not in list1 |
列表、元組、集合、字典 (字典判斷資料是否不在keys()中) |
>、>=、==、<=、< |
比較兩個容器中的資料關係 |
list1 <= list2 |
列表、元組、集合 |