计算机的分类及组合,第六章:组合数据类型
A、組合數據類型概述
計算機不僅對單個變量表示的數據進行處理,更多情況,計算機需要對一組數據進行批量處理。例:
給定一組單詞{python, data, function, list, loop},計算并輸出每個單詞的長度;
給定一個學院學生信息,統計一下男女生比例;
一次實驗產生了很多組數據,對這些大量數據進行分析。
組合數據類型能夠將多個同類型或不同類型的數據組織起來,通過單一的表示使數據操作更有序更容易
根據數據之間的關系,組合數據類型可以分為三類:
序列類型、集合類型和映射類型。
序列類型是一個元素向量,元素之間存在先后關系,通過序號訪問,元素之間不排他。
集合類型是一個元素集合,元素之間無序,相同元素在集合中唯一存在。
映射類型是“鍵-值”數據項的組合,每個元素是一個鍵值對,表示為(key, value)。
聯系
B、集合類型和操作
集合類型與數學中集合的概念一致,即包含0個或多個數據項的無序組合。
集合中元素不可重復。
集合中,元素類型只能是固定數據類型,例如:整數、浮點數、字符串、元組等。
列表、字典和集合類型本身都是可變數據類型,不能作為集合的元素出現。
由于集合是無序組合,它沒有索引和位置的概念,不能分片。
集合用大括號({})表示,元素間用,分隔。
集合中元素可以動態增加或刪除。
建立集合類型: {} 和set()函數
建立空集合類型:必須使用set()
舉例
由于集合元素是無序的,集合的打印效果與定義順序可以不一致。
由于集合元素獨一無二,使用集合類型能夠過濾掉重復元素。
上述操作符表達了集合類型的4種基本操作:
交集(&)、并集(|)、差集(-)、補集(^),操作邏輯與數學定義相同
集合類型有10個操作符
集合類型有10個操作符
集合類型的應用場景包含關系的比較
用集合數據表達這組數據,然后用其他元素與之比較
關系的比較
數據去重(進行數據重復處理)
集合類型與其他類型最大的不同在于它不包含重復元素
數據去重
C、序列類型和操作
1.序列類型
序列是具有先后關系的一組元素
序列是一維元素向量
元素可以相同(有位置信息)
元素類型可以不同
類似數學中的S0 , S1 ,…, Sn-1 , Sn
元素間由序號引導,通過下標訪問序列中的特定元素
由于元素之間存在順序關系,所以序列中可以存在相同數值但位置不同的元素。
序列類型支持成員關系操作符(in)、長度計算函數(len())、分片([]),元素本身也可以是序列類型。
序列類型是一個基類類型,Python語言中有很多數據類型都是序列類型:
str(字符串) :單一字符的有序組合
tuple(元組):包含0個或多個數據項的不可變序列類型。元組生成后是固定的,其中任何數據項不能替換或刪除。
list(列表):一個可以修改數據項的序列類型,使用也最靈活。
排序
2.序列處理函數及方法
序列類型有7個通用的操作符
操作符? 舉例
序列類型有5個通用函數
注意:不同類不能比
D、元組類型和操作
元組(tuple)是序列類型中比較特殊的類型,因為它一旦創建就不能被修改。
創建:使用()或tuple()
元組中元素用,分隔。
可以使用或者不使用小括號
構成
舉例1
舉例2
元組類型在表達固定數據項、函數多返回值、多變量同步賦值、循環遍歷等情況下十分有用。
舉例
元組中元素不可變,除了序列類型的通用函數和方法,無特殊操作。
E、列表類型和操作
1.列表類型的概念
列表(list)是包含0個或多個對象引用的有序序列,屬于序列類型。
與元組不同,列表的長度和內容都是可變的,可自由對列表中數據項進行增加、刪除或替換。
列表沒有長度限制,元素類型可以不同,使用非常靈活。
列表屬于序列類型,所以列表也支持成員關系操作符(in)、長度計算函數(len())、分片([])。
列表可以同時使用正向遞增序號和反向遞減序號,可以采用標準的比較操作符(=、>)進行比較,列表的比較實際上是單個數據項的逐個比較。
列表用中括號([])表示,元素間用,分隔。
創建:使用[]或list()函數
list()函數可將元組或字符串轉化成列表。直接使用list()函數會返回一個空列表。不會生成新的列表對象。
舉例
即:方括號[]真正創建與整數和字符串不同,列表要處理一組數據,因此列表必須通過顯式的數據賦值才能生成,簡單將一個列表賦值給另一個列表一個列表,賦值僅僅傳遞引用。
舉例
2.列表類型的操作
列表類型的操作
舉例
舉例
當使用一個列表改變另一個列表值時,Python不要求兩個列表長度一樣,但遵循“多增少減”的原則。
舉例
列表類型的操作
舉例
與元組一樣,列表可以通過for…in語句對其元素進行遍歷,基本語法結構如下:
for? ? in?:
語句塊
元素進行遍歷
列表是一個十分靈活的數據結構,它具有處理任意長度、混合類型的能力,并提供了豐富的基礎操作符和方法。當程序需要使用組合數據類型管理批量數據時,請盡量使用列表類型。
3.序列類型應用場景
元組用于元素不改變的應用場景,更多用于固定搭配場景
列表更加靈活,是最常用的序列類型
最主要的作用:表示一組有序數據,進而操作它們
數據保護:如果不希望數據被程序所修改,轉換為元組類型
4.序列特點
序列是元素的有序組合
序列是基類,擴展類型包括:字符串、元組、和列表
元組用()或者tuple()創建,列表用[]或者list()創建
元組操作和序列操作基本相同
列表操作在序列操作基礎上,增加了更多的靈活性
F、映射類型
映射類型是“鍵-值”數據項的組合,或者叫索引和數據的對應。-- 屬性&數據的對應關系
每個元素是一個鍵值對,即元素是一個二元關系(key, value),元素之間是無序的。
映射類型
在Python中,映射類型主要以字典(dict)體現。
字典
字典類型的計算
1.字典類型的基本概念
通過任意鍵信息查找一組數據中值信息的過程叫映射,Python語言中通過字典實現映射。
字典可以通過大括號({})和dict()建立,建立模式如下:
{:,… , :}
其中,鍵和值通過冒號連接,不同鍵值對通過逗號隔開。
字典打印
字典打印出來的順序與創建之初的順序可能不同。
字典是集合類型的延續,各個元素并沒有順序之分。
字典是元素為鍵值對的集合
字典最主要的用法是查找與特定鍵相對應的值,通過索引符號來實現。
一般來說,字典中鍵值對的訪問模式如下,采用中括號格式:?????? = []
字典中對某個鍵值的修改可以通過中括號的訪問和賦值實現。
通過中括號([])可以增加新的元素
舉例
直接使用大括號({})可以創建一個空的字典,并通過中括號([])向其增加元素。
舉例
2.字典類型的操作
字典類型的操作
舉例
字典類型的操作
舉例
與其他組合類型一樣,字典可以通過for…in語句對其元素進行遍歷,基本語法結構如下:
for ? ? in? :
語句塊
舉例
3.字典類型的應用場景
字典的最主要應用場景:對映射的表達
映射無處不在,鍵值對無處不在
例如:統計數據出現的次數,數據是鍵,次數是值à(數據,出現次數)
最主要作用:表達鍵值對數據,進而操作它們
字典是實現鍵值對映射的數據結構,請理解如下基本原則:
字典類型使用{} 和 dict()創建
字典是一個鍵值對(key: value)的集合,該集合以鍵為索引,一個鍵信息只對應一個值信息;-- 1:1
字典中元素以鍵信息為索引訪問(d[key]);
字典長度是可變的,可以通過對鍵信息賦值實現增加或修改鍵值對(d[key] = …)。
有一批操作方法和函數,最重要的是.get()
G、jieba庫的使用
1.jieba庫的概述
中文分詞問題:中文單詞之間沒有分隔符
jieba是Python中一個重要的第三方中文分詞函數庫
舉例
jieba庫是第三方庫,不是安裝包自帶,需要通過pip指令安裝
使用cmd命令行
pip install jieba 或者 pip3 install jieba
2.jieba庫的功能
分詞原理:將待分詞的內容與中文詞庫進行對比
功能:
分詞
用戶添加自定義的中文單詞
三種分詞模式:
精確模式:精確切分,完整且不多余地組成原始文本 – 最常用
全模式:把句子中所有可以成詞的詞語都掃描出來,但是冗余性最大
搜索引擎模式:首先執行精確模式,然后再對其中的長詞進一步切分
分詞函數
函數
H、文本詞頻統計
英文:
單詞分詞簡單
有大小寫、標點符號等特殊符號????????––????????文本的噪音處理
中文:
詞語分詞麻煩?––?jieba庫
總結
以上是生活随笔為你收集整理的计算机的分类及组合,第六章:组合数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业计算机能力,以IT企业需求为导向的计
- 下一篇: 软件测试的特殊字符包含什么,测试常见的特