1. 程式人生 > >python回顧(六)——資料儲存(列表,元組,集合,字典),切片,通用運算子

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

列表、元組、集合