在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...