Python中list、tupe、dic、set的使用小記
以下內容根據老師課件整理而來,不喜勿噴!
list
list=[元素1,元素2,…元素n] #定義n個元素組成的列表
1.性質
列表也是序列,其使用與字串十分相似,同樣支援負數索引、分片等特性,但列表的元素可修改。
與字串一樣,可使用len獲取列表長度,還可使用+和*拼接列表。
2.方法
注意pop()和pop(0)的區別,一個是彈出最後一位,一個是彈出第一位
前者彈出棧頂元素,後者是彈出佇列第一個元素,有所區別。
3.列表解析
tupe
tuple=(元素1,元素2,…元素n) #定義n個元素組成的元組
1.性質
元組是一種不可變序列,即建立之後不能再做任何修改。
元組由不同的元素組成,每個元素可以儲存不同型別的資料,如字串、數字甚至元組。
元組通常代表一行資料,而元組中的元素代表不同的資料項。
2.方法
3.元組用途
在對映型別中當作鍵使用
函式的特殊型別引數
作為很多內建函式的返回值
dic
dictionary={key1:value1, key2:value2, …, keyn:valuen)}#建立n個“鍵—值”對組成的字典
1.性質
字典是Python重要的資料型別,字典是由“鍵—值”對組成的集合,字典中的“值”通過“鍵”來引用。
字典也稱為關聯陣列、對映或散列表。
Python字典利用了“雜湊”方法,使用專門的雜湊函式完成,即字典中的每個鍵都被轉換為一個數字—雜湊值。字典中值儲存在一個底層列表中,並用雜湊值作為索引。訪問值時,將提供的鍵轉為雜湊值,再跳到列表的相應位置。
使用“鍵”來訪問字典值效率極高。另外與列表一樣,字典也是可以改變的:可以新增、刪除或修改“鍵—值”對。
字典的訪問與元組、列表有所不同,元組和列表是通過數字索引獲取對應的值,而字典是通過key值獲取相應的value值。
2.注意:對於字典的鍵有兩個限制
1字典中的鍵必須獨一無二,即在同一個字典中,任何兩個鍵—值對都不能相同;
2鍵必須是不可變的。因此,字典鍵不能是列表、字典。對值沒有這兩個限制。
3.格式:
value=dict[key]
說明:
字典的新增、刪除和修改只需執行一條賦值語句即可,例如:dict[’x’]=’value’
字典沒有remove操作。刪除字典元素可呼叫內建函式del()完成。
4.方法
說明:
popitem()返回並刪除字典的某個鍵—值對,具體是哪個預先並不知道,因此僅當不在乎字典元素的順序時,此函式才適用。
items()、keys()和values()都返回一個特殊物件—檢視。檢視被連結到原始字典,因此若字典發生變化,檢視也將相應地變化。
結果
應用
5.字典的排序
字典的排序可以使用內建函式sorted()實現。
sorted(iterable, key=None, reverse=False) --> new sorted list
此處:
iterable—字典的鍵-值對
Key—排序關鍵字:鍵或值
reverse—升序或降序,True為降序,False為升序,預設升序
6.複製
複製分為深拷貝和淺拷貝,不只限於字典,適用於Python的任何物件。可使用copy模組來實現物件的深拷貝和淺拷貝,
deepcopy()用於深拷貝,copy()用於淺拷貝。
深拷貝能夠拷貝物件內部所有資料和引用,引用相當於C語言中指標的概念,Python並不存在指標,但是變數的記憶體結構中通過引用來維護的。
淺拷貝只是複製資料,並沒有複製資料的引用,新的資料和舊的資料使用同一塊記憶體空間。
例如:
字典B淺拷貝字典A的資料,如果字典B的資料發生新增、刪除或修改操作,字典A的資料也將發生變化;
相反,如果字典B深拷貝字典A的資料,字典B的資料即使發生變化,也不會影響的字典A。
set
1.性質
在Python中,集合是一系列不重複的元素。集合類似於字典,但只包含鍵,而沒有相關聯的值。
在Python中,集合是相對較新的功能,在其還不支援集合時,一般使用字典模擬集合。
集合分兩類:可變集合(set)和不可變集合(frozenset)。對於可變集合,可新增和刪除元素,而不可變集合一旦建立就不能更改。
與字典一樣,集合的元素排列順序也是不確定的。
2.集合基本功能
包括關係測試和消除重複元素。集合物件還支援 union(聯合),intersection(交),difference(差)和 sysmmetric difference(對稱差集,即異或)等數學運算。
大括號或 set()函式可以用來建立集合。
注意:想要建立空集合,必須使用 set() 而不是{}。
2.集合比較
3.集合關係運算
小夥伴們,上面的總結是不是很給力?是不是有效複習了一遍?別忘記點贊哦!