第六週:組合數據類型(Python學習筆記)

組合數據類型

組合數據類型有三種最重要的類型結構:

  • 集合類型及操作
  • 序列類型及操作
  • 字典類型及操作

集合類型及操作

集合類型的定義

集合是多個元素的無序組合
集合類型與數學中的集合概念一致
集合元素之間無序,每個元素唯一,不存在相同元素
集合元素不可更改,不能是可變數據類型
集合的表示
集合用大括號{}表示,元素間用逗號分隔
建立集合類型用{}或set()
建立空集合類型,必須使用set()
重點
集合用大括號表示,元素間用逗號分隔
集合中每個元素唯一,不存在相同的元素
集合元素之間無序

集合操作符

在數學中集合有4種運算方法:並、差、交、補,Python提供了6中操作符來表達集合中的運算,如:S|T、S-T、S&T、S^T、S<=T、S>=T
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

集合處理方法

S.add(x)、S.discard(x)、S.remove(x)、S.clear()、S.pop()
這裏寫圖片描述
S.copy()、len(S)、x in S、x not in S、set(x)
這裏寫圖片描述
這裏寫圖片描述

集合類型應用場景

包含關係比較

這裏寫圖片描述

數據去重:集合類型所有元素無重複

這裏寫圖片描述

小結

  1. 集合使用{}和set()函數創建
  2. 集合間操作:交(&)、並(|)、差(-)、補(^)、比較(>=<)
  3. 集合類型方法:.add()、.discard()、.pop()等
  4. 集合類型主要應用於:包含關係比較、數據去重複

序列類型及操作

序列類型的定義

序列是具有先後關係的一組元素
序列是一維元素向量,元素類型可以不同
類似數學元素序列:S0,S1,…,Sn-1
元素間由序號引導,通過下標訪問序列的特定元素

序列是一個基類類型,可以衍生爲字符串類型、元組類型、列表類型

序號的定義:
這裏寫圖片描述

序列處理函數及方法

序列類型通用操作符:x in s ,x not in s ,s+t ,s*n或n*s ,s[i] ,s[i:j]或s[i:j:k]
這裏寫圖片描述
這裏寫圖片描述

序列類型通用函數和方法:len(s),min(s),max(s),s.index(x),s.count(x)
這裏寫圖片描述
這裏寫圖片描述

元組類型及操作

元組是序列類型的一種擴展
元組是一種序列類型,一旦創建就不能被修改
使用小括號()或tuple()創建,元素間用逗號,分隔
可以使用或不使用小括號
這裏寫圖片描述
元組繼承序列類型的全部通用操作
元組繼承了序列類型的全部通用操作
元組因爲創建後不能修改,因此沒有特殊操作
使用或不使用小括號
這裏寫圖片描述

列表類型及操作

列表是序列類型的一種擴展,十分常用
列表是一種序列類型,創建後可以隨意被修改
使用方括號[]或list()創建,元素間用逗號,分隔
可以使用或不使用小括號
這裏寫圖片描述
列表類型操作函數和方法:ls[i]=x ,ls[i:j:k]=lt , del ls[i] , del ls [i:j:k] , ls+=lt , ls *= n
這裏寫圖片描述
這裏寫圖片描述

方法:ls.append(x) , ls.clear() , ls.copy() , ls.insert(i,x) , ls.pop(i) , ls.remove(x) , ls.reverse()
這裏寫圖片描述
這裏寫圖片描述

序列類型應用場景

序列類型應用場景
元組用於元素不改變的應用場景,更多用於固定搭配場景
列表更加靈活,它是最常用的序列類型
最主要作用:表示一組有序數據,進而操作它們

元素遍歷:
這裏寫圖片描述

數據保護:如果不希望數據被程序所改變,轉換成元組類型
這裏寫圖片描述

小結

  1. 序列是基類類型,擴展類型包括:字符串、元組和列表
  2. 元組用() 和tuple()創建,列表用[]和list()創建
  3. 元組操作與序列操作基本相同
  4. 列表操作在序列操作基礎上,增加了更多的靈活性

字典類型及操作

字典類型的定義

理解“映射”
映射是一種鍵(索引)和值(數據)的對應
字典類型是“映射”的體現
鍵值對:鍵是數據索引的擴展
字典是鍵值對的集合,鍵值對之間無序
採用大括號{}和dict()創建,鍵值對用冒號: 表示
這裏寫圖片描述

在字典變量中,通過鍵獲得值
這裏寫圖片描述
這裏寫圖片描述
注意:如果想生成一個空的字典類型,用{};想生成一個空的集合必須用set()

字典處理函數及方法

字典類型操作函數:del d[k] , k in d , d.keys() , d.values()
這裏寫圖片描述
這裏寫圖片描述
字典類型操作方法:d.get(k,) , d.pop(k,) , d.popitem() , d.clear() , len(d)
這裏寫圖片描述
這裏寫圖片描述

字典類型應用場景

映射的表達
映射無處不在,鍵值對無處不在
例如:統計數據出現的次數,數據是鍵,次數是值
最主要作用:表達鍵值對數據,進而操作它們
元素遍歷
for k in d :
<語句塊>

小結

  1. 映射關係採用鍵值對錶達
  2. 字典類型使用{}和dict()創建,鍵值對之間用: 分隔
  3. d[key]方式既可以索引,也可以賦值
  4. 字典類型有一批操作方法和函數,最重要的是get()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章