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