1. 程式人生 > >Python中list、tupe、dic、set的使用小記

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.集合關係運算




小夥伴們,上面的總結是不是很給力?是不是有效複習了一遍?別忘記點贊哦!