Python容器

python容器主要介紹四部分內容,分別是列表、元組、字典和集合。最後再比較一下這幾種數據結構。這一部分內容在python中是非常重要的部分,掌握好了這幾種數據結構在處理數據的時候就會很方便,但是前提條件是對這幾種數據結構的特性要很瞭解。在實際編程中,最常見的工作就是將數據進行拆分和和合並,將其加工爲特定的形式,而數據結構就是這種利器。

一、列表

列表是可變的,不同於字符串,它可以直接對原始列表中的元素進行修改。
列表中的元素可以是不同的數據類型的元素,而字符串中的元素都是同一數據類型的元素(字符)

創建列表
    ○ []
    ○ list()
    ○ 列表推導式
使用list()將其他數據類型轉換爲列表
使用[offset]來獲取元素
使用[offset]來修改元素
列表中的元素可以是列表
提取一定範圍的元素
    ○ 使用切片
添加元素
    ○ Append()        在尾部添加元素
    ○ Insert()           在指定位置添加元素
合併列表
    ○ Extend()
    ○ +=
刪除元素
    ○ Del       它是python語句,而不是列表方法
    ○ Pop()     默認刪除尾部元素,可以通過指定數字來刪除指定位置的元素
        § 可以通過pop()來實現棧和隊列的功能
    ○ Remove()     刪除具有指定值的元素
查詢元素
    ○ Index()      查詢具有特定值的元素位置
    ○ In      利用in來判斷一個值是否存在與列表中
記錄特定值出現的次數
    ○ Count()
將列表轉換爲字符串
    ○ Join()    注意:join() 是字符串方法,而不是列表方法
列表元素排序
    ○ Sort()     改變原列表內容
    ○ Sorted()  不改變原列表內容
    ○ 默認爲升序順序,使用reverse = True來變爲降序排列
獲取列表長度
    ○ Len()
列表的賦值和複製
    ○ 使用 = 來將一個列表賦值給別的變量,通過變量能直接修改列表中的元素,指的是同一個對象
    ○ Copy()   將一個列表的值複製到另一個新的列表中,是兩個不同的對象
二、元組

元組是不可變類型,可以把元組理解爲一個常量列表

創建元組
    ○ ()   創建一個空元組
    ○ 元素後面使用逗號來自動生成元組
將其他類型數據轉換爲元組
    ○ Tuple()
元組解包
    ○ 直接將元組賦值給多個變量進行接收
變量交換
    ○ 不需要藉助臨時變量,直接對變量值進行交換
三、字典

字典是可變數據類型,同列表一樣,那有了列表爲什麼還需要字典呢?因爲列表中的元素是有順序的,列表是按下標來進行查找元素的,當列表元素多的時候,查找起來就不是很方便了。而字典中的元素順序不重要,而可以通過鍵來訪問元素。但是注意一點:字典的鍵必須是不可變對象,因此列表、字典、集合都不能作爲字典的鍵,而元組可以作爲字典的鍵。

字典的創建
    ○ {}
將雙值子序列轉換爲字典
○ Dict()
○ 雙值子序列可以理解爲一種數據類型中有兩個元素,比如說列表中含有的元素爲('a','b')或者是含兩個字符的字符串"ab"
添加或修改元素
○[key]
字典的合併
 ○ Update()
刪除元素
 ○  Del     刪除具有指定鍵的元素
 ○  Clear()      刪除所有元素    或者   直接給字典變量賦值一個{}也是刪除所有元素
判斷一個鍵是否存在
○ in 
獲取字典元素
○ [key]
在使用【key】獲取元素之前,爲了避免找不到相應元素而報錯,可以事先通過in測試鍵是否存在
○ Get()
獲取所有鍵
○Keys()    返回dict_keys(),它是鍵的迭代形式,可以通過list()來將dict_keys轉換爲列表類型
獲取所有值
○ Values()    返回dict_keys(),它是值的迭代形式,可以通過list()來將dict_keys轉換爲列表類型
獲取所有鍵值對
○ Items()     返回dict_keys(),它是鍵值對的迭代形式,可以通過list()來將dict_keys轉換爲列表類型
字典的賦值和複製
 同列表的賦值和複製copy()
四、集合

可以簡單把集合理解爲捨棄了值的字典,而且鍵與鍵之間也不允許重複。

集合的創建
○ Set()   
○ 用大括號將一系列值以逗號隔開,比如{1,2,3,4,5}
將其他類型轉換爲集合
○ Set()
當字典作爲參數傳入時,只有鍵會被使用
使用in測試值是否存在
集合的操作運算
    ○ 交      & 或者 intersection()
    ○ 並      |  或者  union()
    ○ 差      -   或者  difference()
    ○ 異或   ^   或者 symmetric_difference()
五、幾種數據結構的比較
  • 這幾種數據結構都可以通關[]來對單個元素進行訪問
  • 字符串和元組是不可變數據類型,而列表和字典是可變數據類型
  • 這幾種數據結構可以進行自由組合,形成更大更復雜的結構,而唯一的限制來源於這些內置的數據類型本身,比如字典的鍵必須是不可變對象,因此列表、字典、集合都不能作爲字典的鍵,而元組可以作爲字典的鍵。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章