筆記主要由來(lái)于 慕課網(wǎng) Python 語(yǔ)言程序設(shè)計(jì)
- 基本概念
- 一維數(shù)據(jù)表示
- 一維數(shù)據(jù)的存儲(chǔ)
- 一維數(shù)據(jù)處理(未進(jìn)行實(shí)際操作!?。。。?
1.基本概念
1.1 維度:一組數(shù)據(jù)的組織形式
1.2
一維數(shù)據(jù)
由對(duì)等關(guān)系的有序或無(wú)序數(shù)據(jù)構(gòu)成,采用線性方式組織
- 對(duì)應(yīng)傳統(tǒng)python程序中的列表、數(shù)組和集合等概念
二維數(shù)據(jù)
由多個(gè)一維數(shù)據(jù)構(gòu)成,是一維數(shù)據(jù)的組合形式
- 表格是典型的二維數(shù)據(jù)
- 表頭是二維數(shù)據(jù)的一部分(也可以作為之外的部分)
例如:中國(guó)大學(xué)排行榜
多維數(shù)據(jù)
由一維或二維數(shù)據(jù)在新維度上擴(kuò)展形成
例如:不同年份的中國(guó)大學(xué)排行榜
高維數(shù)據(jù)
僅利用最基本的二元關(guān)系展示數(shù)據(jù)間的復(fù)雜結(jié)構(gòu)
1.3 數(shù)據(jù)的操作周期
存儲(chǔ) <-> 表示 <-> 操作
數(shù)據(jù)存儲(chǔ):數(shù)據(jù)在磁盤(pán)中的存儲(chǔ)狀態(tài),關(guān)心數(shù)據(jù)的存儲(chǔ)格式
數(shù)據(jù)表示:程序表達(dá)的方式,關(guān)心的數(shù)據(jù)類(lèi)型
數(shù)據(jù)操作:
2.一維數(shù)據(jù)表示
-
如果數(shù)據(jù)之間有順序:使用列表類(lèi)型
- 列表類(lèi)型可以表達(dá)一維有序數(shù)據(jù)
- for 循環(huán)可以遍歷數(shù)據(jù),進(jìn)而對(duì)每個(gè)數(shù)據(jù)進(jìn)行處理
-
如果數(shù)據(jù)之間無(wú)序:使用集合類(lèi)型
集合類(lèi)型可以表達(dá)一維無(wú)序類(lèi)型
for 循環(huán)可以遍歷數(shù)據(jù),進(jìn)而對(duì)每個(gè)數(shù)據(jù)進(jìn)行處理
3. 一維數(shù)據(jù)的存儲(chǔ)
存儲(chǔ)方式一:空格分隔
- 使用一個(gè)或多個(gè)空格分隔數(shù)據(jù)進(jìn)行存儲(chǔ),不換行
- 缺點(diǎn):數(shù)據(jù)中不能存在空格,如果存在空格,無(wú)法區(qū)分
存儲(chǔ)方式二:逗號(hào)分隔
- 使用英文半角符號(hào)分隔數(shù)據(jù)進(jìn)行存儲(chǔ),不換行
- 缺點(diǎn):數(shù)據(jù)中不能有英文逗號(hào),如果存在空格,無(wú)法區(qū)分
存儲(chǔ)方式三:其他方式
- 使用其他符號(hào)組合分隔,建議使用特殊符號(hào)
- 缺點(diǎn):需要根據(jù)數(shù)據(jù)特點(diǎn)定義,通用性較差
4. 一維數(shù)據(jù)處理(未進(jìn)行實(shí)際操作?。。。?!)
從空格分隔的文件中讀入數(shù)據(jù)
中國(guó) 美國(guó) 日本 德國(guó) 法國(guó) 英國(guó) 意大利
txt = open(fname).read()
ls = txt.split()
f.close()
>>>ls
['中國(guó)', '美國(guó)', '日本', '德國(guó)', '法國(guó)', '英國(guó)', '意大利']
從特殊分隔的文件中讀入數(shù)據(jù)
中國(guó)$美國(guó)$日本$德國(guó)$法國(guó)$英國(guó)$意大利
txt = open(fname).read()
ls = txt.split("$")
f.close()
>>>ls
['中國(guó)', '美國(guó)', '日本', '德國(guó)', '法國(guó)', '英國(guó)', '意大利']
采用空格分隔方式將數(shù)據(jù)寫(xiě)入文件
ls = ['中國(guó)', '美國(guó)', '日本']
f = open(fname,'w')
f.write(' '.join(ls))
f.close()
采用特殊分隔方式將數(shù)據(jù)寫(xiě)入文件
ls = ['中國(guó)', '美國(guó)', '日本']
f = open(fname,'w')
f.write('$'.join(ls))
f.close()