這一講,主要簡單的介紹:組合資料型別的基本概念
——三七驛館
組合型別:指能夠表示多個資料的型別,python語言中最常用的組合資料型別分為三類:序列型別、集合型別、對映型別
一、序列型別:序列型別是一組一維向量,元素之間存在先後關係,通過序號訪問,其中,序列的下標從0開始。由於元素之間存在順序關係,所以序列中可以存在數值相同但位置不同的元素,python語言中有很多資料型別都是序列型別,其中比較重要的是字串型別和列表型別,除此之外,還包括元組型別。字串型別可以看出是單一字元的有效組合,屬於序列型別;列表則是乙個可以使用多種型別元素的序列型別。
序列型別有一些通用的操作符和函式,如下:
序列型別的操作符和函式
操作符描述x in s
x 是 s 中的元素,則返回 true,否則為 false
x not in s
x 不是 s 中的元素,返回 true,否則為 false
s + t
連線 s 和 t
s*n 或 n*s
將 s 複製 n 次
s[ i ]
索引,返回序列的第 i 個元素
s[ i:j ]
切片,返回序列第 i 到第 j 個元素的子串行,不包含第 j 個
s[i:j:k]
步驟切片,返回序列第 i 到第 j 個元素以 k 為步數的子串行
len(s)
返回序列 s 的長度(元素個數)
min(s)
返回序列 s 中最小的元素
max(s)
返回序列 s 中最大的元素
s.index(x)
返回序列 s 中第一次出現 x 的位置
s.count(x)
返回序列 s **現 x 的次數
二、集合型別:即包含0個或多個資料項的無序組合,集合是無序組合,用大括號({})表示,沒有索引的概念,集合中的元素可以動態的增加或刪除。
集合中的元素不能重複,不同於序列型別,且元素型別只能是不可變資料型別,例如整數、浮點數、字串、元組等,相對來說,列表,字典和集合型別本身都是可變資料型別,不能作為集合的元素出現。
值得注意:①集合元素是無序的,因此集合的輸出順序可以不同於定義的順序;
②集合元素具有唯一性,即元素在輸入集合後可以過濾重複元素,但在輸入時不受限制;
③集合元素間沒有順序,不能比較、排序。
集合型別有四個操作符,如下:
集合型別的操作符
操作符及運算
描述s-t(差集)
返回新集合,包括在集合s但不在t中的元素
s&t(交集)
返回新集合,包括同時在集合s和t中的元素
s^t(補集)
返回新集合,包括集合s和t中非共同元素
s|t(並集)
返回新集合,包括集合s和t中的所有元素
集合型別有一些常用的操作函式或方法,如下:
集合型別常用的操作函式或方法
函式/方法
描述s.add(x)
如果 s 中不包括 x,則將 x 增加到 s 中
s.remove(x)
如果 s 中包括 x,則移除 x,否則產生keyerror異常
s.clear(x)
移除 s 中所有資料項
len(s)
返回 s 的長度(元素個數)
x in s
如果 s 中包含 x,則返回 ture,否則返回 false
x not in s
如果 s 中不包含 x,則返回 ture,否則返回 false
set(x)
將其他組合資料型別變為集合型別,返回無重複的無序集合,
生成空集合變數:set()
集合型別主要用於元素去重,適用於任何組合資料型別
三、對映型別:對映型別是「
鍵-值」資料項的組合,每個元素是乙個鍵值對,即元素(key , value),元素之間是無序的,鍵值對是一種二元關係,源於屬性和值的對映關係。對映型別是一種序列型別的拓展,在序列型別中,採用序號進行索引,而對映型別則由使用者來定義序號,即鍵,用於元素值的索引。鍵(key)表示乙個屬性,或理解為乙個類別或者專案,值(value)是屬性的內容,鍵值對刻畫了乙個屬性值和它的值,鍵值對將對映關係結構化,用於儲存和表達。
部分內容參照《全國計算機等級考試二級教程——python語言程式設計2018版》,高等教育出版社,侵權刪!
世界正在偷偷獎勵善良的人
火遍全網的小貓點頭它來了!
25歲 如果我不將就結婚那該多好?
字串(一) 字串Hash
今天開一手最不 tao 擅 yan 長的字串演算法 字串hash演算法。似乎提到字串的話,kmp應該是更為常見的一種,但是hash有它的優點,被犇們稱為 優雅的暴力 何謂hash?hash的中文稱為雜湊,這當然是音譯,直譯過來就是雜湊,或者也有叫預對映的。雜湊的作用就是通過某個特殊函式的對映,將任意...
第一字串 Trie Topology
bessie最近在玩字串。她發現通過改變字母的順序可以使一些字串排在其他所有的字串之前 按字典序從小到大排序 比如說,bessie找到了對於字串 omm moo mom 和 ommnom 她可以用標準的字母表把 mom 排在最前面,也可以用字母表 abcdefghijklonmpqrstuvwxyz...
演算法題(一) 字串
public static string submax string strarr else if max k system.out.println max return arrays.copyofrange strarr,start,end 1 給定兩個字串str1,str2。如果兩者字元種類和相...