Python財(cái)經(jīng)應(yīng)用-編程基礎(chǔ)、數(shù)據(jù)分析與可視化課件 第2章-Python程序設(shè)計(jì)基礎(chǔ)-2.2典型序列數(shù)據(jù)結(jié)構(gòu)_第1頁(yè)
Python財(cái)經(jīng)應(yīng)用-編程基礎(chǔ)、數(shù)據(jù)分析與可視化課件 第2章-Python程序設(shè)計(jì)基礎(chǔ)-2.2典型序列數(shù)據(jù)結(jié)構(gòu)_第2頁(yè)
Python財(cái)經(jīng)應(yīng)用-編程基礎(chǔ)、數(shù)據(jù)分析與可視化課件 第2章-Python程序設(shè)計(jì)基礎(chǔ)-2.2典型序列數(shù)據(jù)結(jié)構(gòu)_第3頁(yè)
Python財(cái)經(jīng)應(yīng)用-編程基礎(chǔ)、數(shù)據(jù)分析與可視化課件 第2章-Python程序設(shè)計(jì)基礎(chǔ)-2.2典型序列數(shù)據(jù)結(jié)構(gòu)_第4頁(yè)
Python財(cái)經(jīng)應(yīng)用-編程基礎(chǔ)、數(shù)據(jù)分析與可視化課件 第2章-Python程序設(shè)計(jì)基礎(chǔ)-2.2典型序列數(shù)據(jù)結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Python財(cái)經(jīng)應(yīng)用:編程基礎(chǔ)、數(shù)據(jù)分析與可視化第二章Python程序設(shè)計(jì)基礎(chǔ)中國(guó)農(nóng)業(yè)大學(xué)李輝01

程序基本流程控制02

典型序列數(shù)據(jù)結(jié)構(gòu)03

函數(shù)與函數(shù)式編程04

面向?qū)ο蟪绦蛟O(shè)計(jì)01

程序基本流程控制02

典型序列數(shù)據(jù)結(jié)構(gòu)03

函數(shù)與函數(shù)式編程04

面向?qū)ο蟪绦蛟O(shè)計(jì)2.2典型序列數(shù)據(jù)結(jié)構(gòu)第二章Python程序設(shè)計(jì)基礎(chǔ)典型序列數(shù)據(jù)結(jié)構(gòu)在財(cái)經(jīng)數(shù)據(jù)分析與應(yīng)用中,Python的序列類型是不可或缺的工具。序列作為一種數(shù)據(jù)結(jié)構(gòu),不僅在數(shù)學(xué)領(lǐng)域以數(shù)列的形式存在,也在程序設(shè)計(jì)中廣泛應(yīng)用于數(shù)據(jù)存儲(chǔ)和處理。Python提供了多種序列類型,包括列表(list)、元組(tuple)、字典(dict)和集合(set),每種類型都有其獨(dú)特的特性和應(yīng)用場(chǎng)景。1列表和元組是有序的序列類型,它們的元素按索引順序存儲(chǔ)在內(nèi)存中,支持通過(guò)索引快速訪問(wèn)。列表是動(dòng)態(tài)的,可以隨時(shí)修改內(nèi)容,適合存儲(chǔ)需要頻繁更新的數(shù)據(jù),例如時(shí)間序列數(shù)據(jù)(如每日收盤價(jià));而元組是靜態(tài)的,一旦創(chuàng)建不可修改,適合存儲(chǔ)不可變的固定數(shù)據(jù),例如交易記錄的字段定義。2典型序列數(shù)據(jù)結(jié)構(gòu)字典和集合則是無(wú)序的序列類型,它們的元素存儲(chǔ)在非連續(xù)的內(nèi)存空間中。字典以鍵值對(duì)的形式存儲(chǔ)數(shù)據(jù),能夠高效地映射和查詢復(fù)雜關(guān)系,例如股票代碼與價(jià)格的映射;集合則專注于存儲(chǔ)唯一的元素,常用于去重操作,例如篩選出一組數(shù)據(jù)中的唯一股票代碼。3在財(cái)經(jīng)分析中,這些序列類型各有優(yōu)缺點(diǎn)。列表適合存儲(chǔ)時(shí)間序列數(shù)據(jù),元組適合存儲(chǔ)不可變的交易記錄,字典可以高效地存儲(chǔ)和查詢映射關(guān)系,而集合則能快速處理唯一性問(wèn)題。通過(guò)靈活運(yùn)用這些序列類型,我們可以更高效地處理和分析財(cái)經(jīng)數(shù)據(jù),為決策提供支持。4列表創(chuàng)建與操作——列表定義與元素訪問(wèn)列表和元組是Python中使用較頻繁的數(shù)據(jù)類型,系統(tǒng)為其分配連續(xù)的內(nèi)存空間。列表是用方括號(hào)組織起來(lái)的,每個(gè)元素用逗號(hào)隔開(kāi),每個(gè)具體元素可以是任意類型的內(nèi)容。通常元素的類型是相同的,但也可以不相同。列表的定義如下:列表名=[元素0,元素1,……,元素n]說(shuō)明:列表名的命名規(guī)則跟變量名一樣,不能用數(shù)字開(kāi)頭。方括號(hào)中的元素之間用逗號(hào)分隔。當(dāng)列表增加或刪除元素時(shí),內(nèi)存空間自動(dòng)擴(kuò)展或收縮。列表中元素的類型可以不相同,它支持?jǐn)?shù)字,字符串甚至可以包含列表(稱為列表嵌套)。列表創(chuàng)建與操作——列表定義與元素訪問(wèn)列表中元素的訪問(wèn):列表元素用“列表名[下標(biāo)]”表示。例如:某同學(xué)的愛(ài)好列表。hobby=['sing','draw','dance','reading']其元素分別為hobby[0]='sing';hobby[1]='draw';...;hobby[3]='reading'。用“列表名[起始下標(biāo):結(jié)束下標(biāo)+1]”表示列表的片段(列表的部分元素),即切片操作。例如:設(shè)有列表hobby=['sing','draw','dance','reading']用交互方式訪問(wèn)其列表的部分元素,比如hobby[1:3],可以輸出:['draw','dance']。列表創(chuàng)建與操作——列表定義與元素訪問(wèn)列表的推導(dǎo)式:推導(dǎo)式就是用for循環(huán)結(jié)合if表達(dá)式生成一個(gè)列表,方便緊湊地定義列表的方式,可以大大減少代碼量?!纠?-16】有一組不同配置的計(jì)算機(jī)形成的價(jià)格列表,應(yīng)用列表推導(dǎo)式生成一個(gè)低于5000元的價(jià)格列表。運(yùn)行結(jié)果如下:

price=[3500,3800,5600,5200,8700]sale=[iforiinpriceifi<5000]print("原列表:",price)print("價(jià)格低于5000的列表:",sale)

原價(jià)格:[3500,3800,5600,5200,8700]原列表:[3500,3800,5600,5200,8700]價(jià)格低于5000的列表:[3500,3800]列表創(chuàng)建與操作——列表的操作方法添加元素:有3個(gè)方法可以在列表中添加元素:append()、extend()、insert()。(1)用append()方法在列表末尾添加元素list_demo=['a','b','c']list_demo.append(‘d’)print(list_demo)輸出結(jié)果如下:[a,b,c,d]列表創(chuàng)建與操作——列表的操作方法添加元素:有3個(gè)方法可以在列表中添加元素:append()、extend()、insert()。(2)用extend()方法將另一個(gè)列表的元素添加到本列表之后list_demo=['a','b','c']list_b=['d','e']list_demo.extend(list_b)print(list_demo)輸出結(jié)果如下:['a','b','c','d','e']列表創(chuàng)建與操作——列表的操作方法添加元素:有3個(gè)方法可以在列表中添加元素:append()、extend()、insert()。(3)用insert()方法將元素插入到列表中指定的某個(gè)位置insert(下標(biāo)位置,插入的元素)list_demo=['a','b','c']list_demo.insert(2,'d')print(list_demo)輸出結(jié)果如下:['a','b','d','c']列表創(chuàng)建與操作——列表的操作方法刪除元素:

用del命令刪除列表中指定下標(biāo)的元素。

用pop()方法刪除列表中指定下標(biāo)的元素。list_demo=['a','b','c']print(list_demo.pop())輸出結(jié)果如下:cprint(list_demo)輸出結(jié)果如下:['a','b']列表創(chuàng)建與操作——列表的操作方法刪除元素:用remove()方法刪除列表中所值為‘x’的元素list_demo=['a','b','c']list_demo.remove('b')print(list_demo)輸出結(jié)果如下:['a','c']列表創(chuàng)建與操作——列表的操作方法查找元素位置:用index()方法可以確定元素在列表中的位置。list_demo=['a','b','c']print(list_demo.index('b'))輸出結(jié)果如下:1列表創(chuàng)建與操作——列表的操作方法對(duì)列表元素排序:用sort()方法可以對(duì)列表元素進(jìn)行排序。sort()方法默認(rèn)為按升序(從小到大)排序。list_demo=['a','c','b']list_demo.sort()print(list_demo)輸出結(jié)果如下:['a','b','c']列表創(chuàng)建與操作——元組定義與元素操作元組是一種元素序列。但元組是不可變的,元組一旦定義,就不能添加或刪除元素,元素的值也不能修改。元祖的定義:用一對(duì)圓括號(hào)定義元組。定義元組可通過(guò)兩種方式:使用小括號(hào)()或tuple()方法。(1)使用“()”定義元組在Python中,可以直接通過(guò)小括號(hào)“()”定義元組。定義元組時(shí),小括號(hào)內(nèi)的元素逗號(hào)分隔。其語(yǔ)法格式如下。tuplename=(元素1,元素2,元素3,…,元素n)tuplename:表示元組的名稱,可以是任何符合Python命名規(guī)則的非關(guān)鍵字標(biāo)識(shí)符。元素1,元素2,元素3,…,元素n表示元組中的元素,個(gè)數(shù)沒(méi)有限制,并且只要是Python支持的數(shù)據(jù)類型即可。從語(yǔ)法格式來(lái)看,元組使用一對(duì)小括號(hào)將所有的元素括起來(lái),但是小括號(hào)并不是必需的,只要將一組值用逗號(hào)隔開(kāi)來(lái),Python就可以視為元組。若定義的元組只有包括一個(gè)元素,則需要在定義元組時(shí),在元素的后面加一個(gè)逗號(hào)“,”。列表創(chuàng)建與操作——列表定義與元素訪問(wèn)【例2-18】定義個(gè)人愛(ài)好的元組。運(yùn)行結(jié)果如下:

tup_hobby=('旅游','象棋','游泳','看書(shū)','唱歌','跑步')print(tup_hobby)

('旅游','象棋','游泳','看書(shū)','唱歌','跑步')列表創(chuàng)建與操作——列表定義與元素訪問(wèn)(2)使用tuple函數(shù)定義在Python中,可以通過(guò)tuple函數(shù)直接將range函數(shù)循環(huán)出來(lái)的結(jié)果轉(zhuǎn)換為數(shù)組元組。【例2-19】輸出20以內(nèi)3的倍數(shù)的數(shù)值元組。運(yùn)行結(jié)果如下:

number=tuple(range(3,20,3))print('20以內(nèi)3的倍數(shù)數(shù)值元組:',number)

20以內(nèi)3的倍數(shù)數(shù)值元組:(3,6,9,12,15,18)列表創(chuàng)建與操作——元組定義與元素操作獲取元組元素:在元組中獲取對(duì)象的方法與列表相同,支持雙向索引和切片訪問(wèn)?!纠?-20】使用兩種方式輸出“中國(guó)古代四大發(fā)明”。

inventions='造紙術(shù)','指南針','火藥','印刷術(shù)'#方式一:直接使用for循環(huán)遍歷fornameininventions:print(name,end='')print()#方式二:使用for循環(huán)和enumertate()函數(shù)結(jié)合遍歷forindex,iteminenumerate(inventions):print(index+1,item)列表創(chuàng)建與操作——元組定義與元素操作運(yùn)行結(jié)果如下:

造紙術(shù)指南針火藥印刷術(shù)1造紙術(shù)2指南針3火藥4印刷術(shù)列表創(chuàng)建與操作——元組定義與元素操作元組操作:元組的不可變性導(dǎo)致其無(wú)法像列表一樣可以實(shí)現(xiàn)對(duì)象的追加、刪除和清空等操作,僅能夠查看相關(guān)的操作。元組操作方法請(qǐng)見(jiàn)表所示。方法功能說(shuō)明示例count(tup_value)計(jì)數(shù)查看元組出現(xiàn)的次數(shù)tup_demo=('a','b','c')print(tup_demo.count('b'))

輸出:1index(tup_value)查看索引查看特定值第一次出現(xiàn)的索引位置tup_demo=('a','b','b','c')print(tup_demo.index('b'))

輸出:2len(obj)查看元組長(zhǎng)度查看元組中有多少個(gè)對(duì)象tup_demo=('a','b','c')print(len(tup_demo))

輸出:3列表創(chuàng)建與操作——元組定義與元素操作元組操作:與列表類似,元組對(duì)象也支持“+”“*”和“in”運(yùn)算符?!?”運(yùn)算符用來(lái)執(zhí)行合并操作,“*”運(yùn)算符用來(lái)執(zhí)行重復(fù)操作,結(jié)果都會(huì)生成一個(gè)新的元組。“in”運(yùn)算符用于測(cè)試元組中是否包含某個(gè)元素。元組也支持len()、max()、min()、sum()、zip()、enumerate()等方法,以及count()、index()等對(duì)象方法。元組屬于不可變序列,因此不支持append()、extend()、insert()、remove()、pop()等操作。元組的刪除:只能用del命令刪除整個(gè)元組,而不能僅刪除元組中的部分元素,因?yàn)樵M是不可變的。列表創(chuàng)建與操作——元組定義與元素操作元組的打包與解包:元組解包允許將一個(gè)可迭代對(duì)象的元素(通常是一個(gè)元組)分配給變量。比較經(jīng)典的就是交換a、b的值,原理是b、a在右邊形成元組(b,a),然后解包。將多個(gè)以逗號(hào)分隔的值賦給一個(gè)變量時(shí),多個(gè)值被打包成一個(gè)元組類型。當(dāng)我們將一個(gè)元組賦給多個(gè)變量時(shí),它將解包成多個(gè)值,然后分別將其賦給相應(yīng)的變量。以“*”號(hào)開(kāi)頭的變量將從迭代中取出所有其他變量剩余的值。列表創(chuàng)建與操作——元組定義與元素操作元組的打包與解包:【例2-21】元組的打包與解包應(yīng)用。

#打包t=1,10,100,1000print(type(t),t)#解包i,*j,k=tprint(i,j,k)運(yùn)行結(jié)果如下:

<class'tuple'>(1,10,100,1000)1[10,100]1000列表創(chuàng)建與操作——字典定義與元素操作字典是Python重要的數(shù)據(jù)結(jié)構(gòu),由鍵值對(duì)組成。在客觀世界中,所有的事件都有它的屬性和屬性對(duì)應(yīng)的值,比如某種花的顏色是紅色,有6個(gè)花瓣。其中顏色和花瓣數(shù)量是性,紅色和6是值,用屬性(key)和值(value)組成“鍵值對(duì)”(key-value)這樣的數(shù)據(jù)結(jié)構(gòu)。字典的定義:用大括號(hào)“{}”把元素括起來(lái)就構(gòu)成了一個(gè)字典對(duì)象。字典中的元素用“字典名[鍵名]”表示。元素的修改:通過(guò)為鍵名重新賦值的方式修改字典元素的值。元素的添加:添加字典元素,也是使用賦值方式。元素的刪除:用del命令可以刪除字典中的元素。列表創(chuàng)建與操作——字典定義與元素操作【例2-22】字典元素操作應(yīng)用。

#字典的創(chuàng)建name_age_dict={'小趙':18,'小錢':20,'小孫':16}#打印輸出#輸出原字典print(f'name_age_dict={name_age_dict}')#修改字典中值的內(nèi)容name_age_dict['小錢']=21#創(chuàng)建新的鍵值對(duì)name_age_dict['小李']=19#輸出修改與增加鍵值對(duì)后的字典print(f'name_age_dict={name_age_dict}')列表創(chuàng)建與操作——字典定義與元素操作運(yùn)行結(jié)果如下:

name_age_dict={'小趙':18,'小錢':20,'小孫':16}name_age_dict={'小趙':18,'小錢':21,'小孫':16,'小李':19}列表創(chuàng)建與操作——集合定義與元素操作集合(set)是存放無(wú)順序、無(wú)索引內(nèi)容的容器。Python中,集合用花括號(hào){}表示。集合可以消除重復(fù)的元素,也可以用它作交、差、并、補(bǔ)等數(shù)學(xué)運(yùn)算。集合分為可變集合(set)和不可變集合(frozenset)兩種類型??勺兗系脑厥强梢蕴砑印h除的,而不可變集合的元素不可添加、不可刪除。集合的定義:集合用一對(duì)大括號(hào)“{}”把元素括起來(lái),元素之間用逗號(hào)“,”分隔。例如:

s1={1,2,3,4,5}s2={‘a(chǎn)’,’b’,’c’,’d’}上述s1和s2都是集合。列表創(chuàng)建與操作——集合定義與元素操作集合的定義:使用set()函數(shù)定義一個(gè)集合。元素的添加:python集合有兩種方法用于添加元素,分別是add()和update()。元素的刪除:用remove()可以刪除集合中的元素。列表創(chuàng)建與操作——集合定義與元素操作集合的專用操作符:集合有4個(gè)專用操作符:&(交集)、|(并集)、-(差集,又稱為“相對(duì)補(bǔ)集”)、^(對(duì)稱差分)。設(shè)有兩個(gè)集合a、b,其關(guān)系如下:

a&b表示兩個(gè)集合的共同元素;

a|b表示兩個(gè)集合的所有元素;

a-b表示只屬于集合a,不屬于集合b的元素;

a^b表示兩個(gè)集合的非共同元素。集合沒(méi)有順序,沒(méi)有索引,所以無(wú)法指定位置去訪問(wèn),但可以用for遍歷的方式進(jìn)行讀取。列表創(chuàng)建與操作——集合定義與元素操作【例2-23】集合的綜合應(yīng)用。某公司人力資源

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論