全國計算機等級考試二級教程--python語言程式設計(2018年版)第六章:組合資料型別
阿新 • • 發佈:2018-12-23
宣告:本篇文章只是個人知識盲區、知識弱點、重點部分的歸納總結,望各位大佬不喜勿噴。梳理順序是按照書籍的實際順序梳理,轉載請註明出處。
作者:sumjess
一、組合資料型別的基本概念:
Python語言中最常用的組合資料型別有三大類,分別是集合型別、序列型別和對映型別。
集合型別:是一個元素集合,元素之間無序,相同的元素在集合中唯一存在。
序列型別:是一個元素向量,元素之間存在先後關係,通過序號訪問,元素之間不排他。序列型別最典型的代表 是字串型別和列表型別。
對映型別:是“鍵-值”資料項的組合,每個元素是一個鍵值對,表示
為(key,value)。對映型別的最典型的代表是字典型別。
集合型別是一個具體的資料型別名稱,而序列型別和對映型別是一類資料型別的總稱。
1、集合型別概述:
Python語言中的集合型別與數學中的集合概念一致,即包含0個或多個數據項的無序組合。集合是無序組合,用大括號({})表示,他沒有索引和位置的概念,集合中的元素可以動態增加或刪除。集合中的元素不可重複,元素型別只能是不可變資料型別 。
注意:由於集合元素是無序的,集合輸出順序與定義順序可以不一致。同時利用該特性,使用集合型別能夠濾掉重複元素。集合元素沒有順序,不能比較,不能排序。
(1)集合型別的操作符:
差集 S-T 返回一個新集合,包括在集合S中但不在集合T中的元素
交集 S&T 返回一個新集合,包括同時在 集合S和T中的元素
補集 S^T 返回一個新集合,包括集合S和T中非共同元素
並集 S|T 返回一個新集合,包括集合S和T中所有元素
(2)集合型別常用的操作函式或方法:
S.add(x) 如果資料項x不在集合S中,將x增加到S
S.remove(x) 如果x在集合S中,移除該元素;不在則產生KeyError異常
S.clear(x) 移除S中所有資料項
len(S) 返回集合S元素的個數
x in S 如果x是S的元素,返回True;否則返回False
x not in S 如果x不是S的元素,返回True;否則返回False
(3)set(x)函式將其他的組合資料型別變成集合型別,返回結果是一個無重複且排序任意的集合。set()函式也可以生成空集合變數。其中,set()函式也可以生成空集合變數。
集合型別主要用於元素去重,適合任何資料型別。
2、序列型別概述:
序列型別是一位向量,元素之間存在先後關係,通過序號訪問。
注意:序列的下標從0開始編號。
字串型別可以看成是單一字元的有序組合,屬於序列型別。列表則是一個可以使用多種型別元素的的序列型別。
序列使用的索引體系和字串型別一樣,即正向遞增序號和反向遞減序號。
3、對映型別概述:
對映型別是“鍵-值”資料項的組合,每個元素是一個鍵值對,表示為(key,value)。對映型別的最典型的代表是字典型別。