python學習之容器(一)

2021-10-04 21:26:08 字數 3096 閱讀 5168

在python中,容器主要有list,tuple、dict、和set。

1、list

list在其他語言中,可以看組是乙個陣列,和c語言相同的是索引從0開始

2、tuple

靜態的list,陣列中的元素無法修改

3、dict

字典,可以看作是key=>value形式,

4、set

集合,高中數學課本就講過,集合是一種沒有重複值的數的集體。因此,我們可以把集合可以看作是一種特殊的陣列,該陣列內部沒用重複的值。

1、list和tuple的操作

list是可變陣列,tuple是靜態陣列,靜態陣列是指內部元素無法變化,不能修改內部值,不能插入新的值,不能刪除舊的值。list在宣告時使用的是,tuple在宣告的時候使用的是()

l =[1

,2,3

]t=(1

,3,4

)

訪問通過使用索引可以對陣列進行訪問,例如下面的**是對陣列的第二個值進行訪問

s =[12

,3,43

,5]print

(s[1

])

查詢查詢的意思是檢視陣列裡面是否存在特定的值,可以通過呼叫index函式進行操作,如果對應的陣列中沒有特定的值時,index函式就會返回valueerror錯誤。

s =[12

,3,43

,5]print

(s.index(3)

)print

(s.index(33)

)

上面的**執行的結果如下圖,由於33在陣列中沒有查詢到,所以python編譯器直接返回乙個錯誤

插入

刪除對元素進行刪除時,則需要呼叫del函式,該del函式不是陣列物件的方法,它是乙個全域性函式,後面介紹的字典也是通過該函式進行刪除的,下面的**是將陣列中第三個值刪除

遍歷遍歷乙個陣列可以通過使用for value in list語法進行訪問,也可以通過for index in range(len(list))語法

s =[12

,3,43

,5]for value in s:

print

(value)

2、dict

字典是只用key=>value形式,key是唯一不重複的。如果學習了c++語言的,可以和c++語言中的map進行類似,但是和c++中的map有所不同的是python中的字典是無序的,底層是通過雜湊表進行儲存,c++中的map是通過紅黑樹進行儲存的。字典的宣告形式是使用{},例如下面的例子。

d =

遍歷字典的遍歷可以通過使用for index in dict語法或者使用for inedx,value in dict.items()語法進行遍歷

d =

for index in d:

print

(d[index]

)for index, value in d.items():

print

(str

(index)

+" : "

+str

(value)

)

執行的結果如下圖所示

查詢

由於字典都是通過key來標記乙個值的,因此字典的查詢也就變成了字典中是否存在相關的key。

if

2in d:

print

(d[2])

else

:print

("2 not in d"

)

插入字典的插入相對比較簡單,可以直接使用dict[key] = value語法進行插入。如果在字典中存在之前的key時,value則會覆蓋之前的value

d =

print

(d["a"])

d["a"]=

"net value"

print

(d["a"

])

執行結果如下,新插入的值覆蓋了舊的值了

刪除

字典的刪除也是呼叫的是del函式,和上面的陣列類似,直接刪除位址的key值。

set將在python學習之容器(二)中講解

以上所有樣例的**可以在git獲得

python學習之容器(二)

接著上次的講解的繼續。3 set 集合可以看作是一種特殊的陣列,但是和陣列的操作又有所不同,再集合中,還包含了交 差 並等運算。集合在初始化時,需要呼叫set函式,例如下面的 s set 1 2,3 2,2 4 print s 直接結果如下圖,交 交是指兩個集合共有的部分,可以使用 符合和inter...

Python學習 「容器」

資料型別分為基本資料型別和組合資料型別,今天我們先來說一下組合資料型別。我們的組合資料型別分為列表 元組 集合 字典,我們接下來詳細的說一下這四個型別。舉例1 著名的nba球星有喬丹 科比 詹姆斯 庫里 杜蘭特,用列表表示 nba 喬丹 科比 詹姆斯 杜蘭特 庫里 舉例2 王者榮耀裡的 分別是6,2...

python之Collections容器資料型別

1 ordereddict字典的子類 常規dict並不跟蹤插入順序,迭代處理時會根據鍵在雜湊表中儲存的順序來生成值。import collections a a d 1 a c 3 a b 4 a for k,v in a.items print k,v c 3b 4 d 1 在ordereddic...