Python語言基礎(chǔ)與應(yīng)用- 課件 第2章 數(shù)據(jù)結(jié)構(gòu)_第1頁
Python語言基礎(chǔ)與應(yīng)用- 課件 第2章 數(shù)據(jù)結(jié)構(gòu)_第2頁
Python語言基礎(chǔ)與應(yīng)用- 課件 第2章 數(shù)據(jù)結(jié)構(gòu)_第3頁
Python語言基礎(chǔ)與應(yīng)用- 課件 第2章 數(shù)據(jù)結(jié)構(gòu)_第4頁
Python語言基礎(chǔ)與應(yīng)用- 課件 第2章 數(shù)據(jù)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Python語言基礎(chǔ)與應(yīng)用02數(shù)據(jù)結(jié)構(gòu)PYTHON目錄CONTENTS0102032.1數(shù)值類型2.2序列2.3字典TEACH042.4集合2.1數(shù)值類型數(shù)值類型整數(shù)類型(int)浮點(diǎn)類型(float)復(fù)數(shù)類型(complex)一、

整數(shù)類型(int)

整數(shù)類型包括十進(jìn)制整數(shù)、八進(jìn)制整數(shù)、十六進(jìn)制整數(shù)和二進(jìn)制整數(shù)。(1)十進(jìn)制:由0-9進(jìn)行表示,例:10,99,-217(2)二進(jìn)制:由0、1組成,“逢二進(jìn)一”,以0b開頭,例:0b1010(3)八進(jìn)制:由0~7組成,“逢八進(jìn)一”,以0o開頭,例:0o12(4)十六進(jìn)制:由0~9、A~F組成,“逢十六進(jìn)一”,以0x/0X開頭,例:0x0A一、

整數(shù)類型在交互模式下,程序運(yùn)行結(jié)果如下:>>>0b101010>>>0o1210>>>0x0a10通過運(yùn)行,將二進(jìn)制、八進(jìn)制、十六進(jìn)制均轉(zhuǎn)換為十進(jìn)制二、

浮點(diǎn)數(shù)類型

浮點(diǎn)數(shù)是帶小數(shù)的數(shù)字,由整數(shù)部分和小數(shù)部分組成,主要用于處理含有小數(shù)部分的數(shù)。浮點(diǎn)數(shù)表示方法如下:3.1415926#十進(jìn)制形式表示,4.

#十進(jìn)制形式表示,相當(dāng)于4.0.5

#十進(jìn)制形式表示,相當(dāng)于0.5-2.7315e2

#科學(xué)計(jì)數(shù)法表示,相當(dāng)于-2.7315x102三、

復(fù)數(shù)類型

復(fù)數(shù)是Python內(nèi)置的數(shù)據(jù)類型,有以下特點(diǎn):

(1)復(fù)數(shù)由實(shí)部和虛部構(gòu)成,其一般形式為:real+imag*1j。

(2)實(shí)部real和虛部的imag都是浮點(diǎn)型。

(3)虛部必須有后綴j或J。Python中有兩種創(chuàng)建復(fù)數(shù)的方式:num_one=3+2j#直接創(chuàng)建num_two=complex(3,2)#通過內(nèi)置函數(shù)創(chuàng)建2.2序列序列(sequence)是程序設(shè)計(jì)中常用的數(shù)據(jù)存儲(chǔ)方式,按一定順序存放多個(gè)值的連續(xù)內(nèi)存空間,包括String(字符串)、List(列表)、Tuple(元組)三種類型。字符串"Python"列表lt=[1,2,3]元組tp=(1,2,3)一、

字符串

字符串是序列的一種,主要用于存儲(chǔ)和表現(xiàn)文本的信息。1.字符串性質(zhì)

字符串是將“字符”按照順序“串聯(lián)”起來?!癙ython語言”、‘文化路103號(hào)’、“sinɑ”2.字符種類

數(shù)字、拉丁字母、英文字母、標(biāo)點(diǎn)符號(hào)、特殊符號(hào)、其他語言等。一、字符串3.字符串定義

Python支持用單引號(hào)、雙引號(hào)和三引號(hào)定義字符串,單引號(hào)和雙引號(hào)常用于定義單行字符串,三引號(hào)常用于定義多行字符串。當(dāng)字符串中含有雙引號(hào)時(shí),最好使用單引號(hào)作為界定符單引號(hào)雙引號(hào)三引號(hào)'Hesaid“hi”'當(dāng)字符串中含有單引號(hào)時(shí),最好使用雙引號(hào)作為界定符"It'smycat."常用于多行字符串,可以包含單雙引號(hào)'''Python'''一、

字符串

字符串"python3"存儲(chǔ)方式如下:值(value)python3位置(index)0123456位置(index)-7-6-5-4-3-2-1第一個(gè)字符位置編號(hào)是0,第二個(gè)字符位置編號(hào)是1,.....最后一個(gè)字符位置編號(hào)是-1,倒數(shù)第二個(gè)字符位置編號(hào)是-2,.....一、

字符串4.字符讀取(單個(gè))

s[i]:根據(jù)字符的編號(hào),從字符串中讀取任意一個(gè)字符。>>>s="python3">>>s[0]'p'>>>s[-1]'3'一、

字符串4.字符讀取(切片,多個(gè)字符)

s[start:end:step]:start開始位置(閉),end結(jié)束位置(開),step間隔。>>>s="python3">>>s[0:5:1]'pytho'>>>s[0:5:2]'pto'>>>s[0:6:2]'pto'值(value)python3位置(index)0123456一、

字符串5.字符串連接

使用+運(yùn)算符將字符串連接在一起,用*運(yùn)算符重復(fù)字符串。>>>s1*3'pythonpythonpython'>>>3*s1'pythonpythonpython'>>>s1="python">>>s2="3">>>s1+s2'python3'>>>s2+s1'3python'一、

字符串6.字符串相等判斷(==)>>>s1=”python”>>>s1==”python”True>>>s1==”Python”False一、

字符串7.判斷字符串中是否包含某個(gè)字符串(in)>>>s1=”python”>>>nins1True>>>onins1True>>>mins1False一、

字符串8.字符類型判斷s.isalnum():測試字符串是否為數(shù)字或字母s.isalpha():是否為字母s.isdigit():是否為數(shù)字字符s.isdecimal():是否只包含十進(jìn)制字符s.isnumeric():是否只由數(shù)字組成s.isspace():是否為空白字符s.isupper():是否為大寫字母s.islower():是否為小寫字母一、

字符串8.字符類型判斷

>>>'1234abcd'.isalnum()

True

>>>'1234abcd'.isalpha()#全部為英文字母時(shí)返回True

False

>>>'1234abcd'.isdigit()#全部為數(shù)字時(shí)返回True

False

>>>'abcd'.isalpha()

True

>>>'1234.0'.isdigit()

False一、

字符串9.分割(slpit)和合并(join)

>>>s1="Today-is-a-good-day">>>s1.split('-')['Today','is','a','good','day']>>>"".join(['Today','is','a','good','day'])'Todayisagoodday'二、

列表

列表(List)是一個(gè)沒有固定長度的,表示任意對(duì)象的有序集合。特點(diǎn)如下:

(1)Python中內(nèi)置的可變的有序序列。

(2)在形式上,列表的所有元素都放在一對(duì)中括號(hào)“[]”中,兩個(gè)相鄰元素間使用逗號(hào)“,”分隔。

(3)在內(nèi)容上,可以將整數(shù)、實(shí)數(shù)、字符串、列表、元組等任何類型的內(nèi)容放入到列表中。二、

列表1.創(chuàng)建列表(實(shí)體列表)

使用賦值運(yùn)算符“=”直接將一個(gè)列表賦值給變量,語法格式如下:listname=[元素1,元素2,元素3,…,元素n]>>>a_list=['a','b',1,4+5j,1,7,'Python']>>>a_list['a','b',1,(4+5j),1,7,'Python']二、

列表1.創(chuàng)建列表(空列表)

使用賦值運(yùn)算符“=”直接將一個(gè)列表賦值給變量,語法格式如下:listname=[]

listname=list()>>>a_list=[]>>>a_list[]>>>b_list=list()>>>b_list[]二、

列表2.列表讀取

單個(gè)元素讀?。毫斜砻鸞索引]:位置索引來讀取列表中的值;

列表截取(切片):列表名[start:end:step]>>>a=['Today','is','a','good','day']>>>a[1]'is'>>>a=['Today','is','a','good','day']>>>a[1:3:1]['is','a']二、

列表3.列表賦值

修改列表中的元素需要通過索引(指定下標(biāo))獲取該元素,再為其重新賦值即可。語法格式:listname[index]=元素值>>>a=['Today','is','a','good','day']>>>a[1]="notis"['Today','notis','a','good','day']二、

列表4.列表元素增加(append/insert/extend)

append()方法:尾部添加元素,語法格式:列表名.append(數(shù)據(jù)對(duì)象)>>>a=['T','i','a','d','y']>>>a.append('t')>>>a['T','i','a','d','y','t']二、

列表4.列表元素增加(append/insert/extend)

insert()方法:將指定對(duì)象或序列插入列表的指定位置。語法格式:列表名.insert(index,obj)>>>a=['T','i','a','d','y']>>>a.insert(2,'t')>>>a['T','i','t','a','d','y']二、

列表4.列表元素增加(append/insert/extend)

extend()方法:在列表末尾添加一個(gè)序列,將這個(gè)序列的數(shù)據(jù)逐一添加到列表中。語法格式:列表名.extend(seq)>>>m=['T','i','a','d','y']>>>m.extend(['p',1])>>>m['T','i','a','d','y','p',1]二、

列表

5.縮減列表(remove/pop/clear)

remove()方法:根據(jù)元素值刪除元素,語法格式:lisename.remove(obj)>>>m=['T','i','a','d','T','y']>>>m.remove('T')['i','a','d','T','y']>>>m.remove('T')['i','a','d','y']二、

列表

5.縮減列表(remove/pop/clear)

pop()方法:移除列表中的一個(gè)元素并且返回該元素的值。語法格式:列表名.pop(index)>>>m=['T','i','a','d','T','y']>>>p=m.pop(1)>>>m['T','a','d','T','y']>>>p'i'二、

列表

5.縮減列表(remove/pop/clear)

clear()方法:用于清空列表,語法格式:列表名.clear()>>>m=['T','i','a','d','T','y']>>>m.clear()>>>m[]二、

列表

6.重組列表(reverse/sort):

reverse():按照元素位置頭尾翻轉(zhuǎn)重新排列,語法格式:

列表名.reverse()>>>m=[1,9,8,2,6,7]>>>m.reverse()>>>m[7,6,2,8,9,1]解釋:按照位置進(jìn)行順序的反轉(zhuǎn)。二、

列表

6.重組列表(reverse/sort):

sort():按照元素值大小進(jìn)行排列,語法格式:列表名.sort()>>>m=[1,9,8,2,6,7]>>>m.sort()>>>m[1,2,6,7,8,9]>>>m.sort(reverse=True)[9,8,7,6,2,1]解釋:sort()方法默認(rèn)參數(shù)為reverse=True,按照元素值由小到大的順序進(jìn)行排列。也可以設(shè)置reverse=False,按照元素值由大到小的順序進(jìn)行排列。三、元組

元組(tuple)是Python中另一種內(nèi)置的存儲(chǔ)有序數(shù)據(jù)的結(jié)構(gòu)。

(1)Python中內(nèi)置不可變的有序序列。

(2)在形式上,元組的所有元素都放在一對(duì)小括號(hào)“()”里,兩個(gè)相鄰元素間使用逗號(hào)“,”分隔,若只有一個(gè)元素,則需要在元素后面括號(hào)里面添加“,”。

(3)在內(nèi)容上,可以將整數(shù)、實(shí)數(shù)、字符串、列表、元組等任何類型的內(nèi)容放入到元組中。三、

元組1.元組創(chuàng)建(空元組)

創(chuàng)建空元組:tuple()函數(shù)法。語法格式:tuplename=tuple()>>>m=tuple()>>>m()三、

元組1.元組創(chuàng)建(實(shí)體元組)

創(chuàng)建由內(nèi)容的元組:圓括號(hào)()限制元素,逗號(hào),分隔兩個(gè)相鄰元素。>>>m=('Today','is','a','good','day')>>>m('Today','is','a','good','day')三、

元組2.元素讀取

語法格式:元組名[索引位置]>>>m=('Today','is','a','good','day')>>>m[2]'a'元組特性:舍棄和靈活性,提高讀取性能四、

字典

在Python的數(shù)據(jù)結(jié)構(gòu)類型中,除了序列數(shù)據(jù)結(jié)構(gòu)還有一種非常重要的數(shù)據(jù)結(jié)構(gòu)——映射(Map)。

字典結(jié)構(gòu)是Python中唯一內(nèi)建的映射類型。與序列數(shù)據(jù)結(jié)構(gòu)最大的不同是字典結(jié)構(gòu)中每個(gè)字典元素都有鍵(Key)和值(Value)兩個(gè)屬性,可以通過鍵查找對(duì)應(yīng)的值。四、

字典1.字典創(chuàng)建(賦值法)

賦值法直接創(chuàng)建,語法格式:字典名={key1:value1,key2:value2...}>>>a

=

{'tom':89,

'lucy':78,

'nacy':74,

'chen':45}>>>a{'tom':89,'lucy':78,'nacy':74,'chen':45}四、

字典1.字典創(chuàng)建(鍵值對(duì))

name_dict=dict(key1=value1,key2=value2,...,keyn=valuen)>>>a_dict=dict(tom=89,lucy=78,李濤=14,chen=45)>>>a_dict{'tom':89,'lucy':78,'李濤':14,'chen':45}

字典定義時(shí),字典的名字要符合變量命名原則采用dict函數(shù)是一對(duì)小括號(hào)()。鍵和值之間是=,而且采用字符串做鍵,不添加引號(hào)四、

字典1.字典創(chuàng)建(映像函數(shù))

語法格式:name_dict=dict(zip(list1,list2))>>>lst1=['tom','lucy','李濤','zhou']>>>lst2=[100,98,45,46]>>>a_dict=dict(zip(lst1,lst2))>>>a_dict{'tom':100,'lucy':98,'李濤':45,'zhou':46}四、

字典2.字典元素的訪問

讀取值,語法格式如下:

value=name_dict[key]value=name_dict.get(key)>>>a_dict={'tom':100,'lucy':98,'李濤':45}>>>value1=a_dict['李濤']>>>value145>>>a_dict.get('lucy')98四、

字典3.字典元素的添加和修改

直接賦值法,語法格式如下:

name_dict[key]=value>>>a_dict={'tom':100,'lucy':98,'李濤':45}>>>a_dict['李濤']=58>>>a_dict{'tom':100,'lucy':98,'李濤':58}>>>a_dict['lily']=72>>>a_dict{'tom':100,'lucy':98,'李濤':58,'lily':72}注意:(1)若該“鍵”存在,則修改該“鍵”對(duì)應(yīng)的值(2)若不存在,則添加新的“鍵:值”對(duì)四、

字典3.字典元素的添加和修改

更新update()方法,語法格式如下:

name_dict.update(dict)>>>a_dict={'gree':4127,'mark':4127,'jack':4098}>>>b_dict={'gmee':5127,'pang':6008}>>>a_dict.update(b_dict)>>>a_dict{'gree':4127,'mark':4127,'jack':4098,'gmee':5127,'pang':6008}四、

字典4.字典元素的縮減(del\clear\pop)

del函數(shù),語法格式如下:

delname_dict#整體刪除delname_dict[key]#刪除對(duì)應(yīng)的鍵值對(duì)>>>a_dict={'tom':100,'lucy':98,'李濤':45}>>>dela_dict['tom']>>>a_dict{'lucy':98,'李濤':45}>>>dela_dict>>>a_dictTraceback(mostrecentcalllast):File"<pyshell#16>",line1,in<module>a_dictNameError:name'a_dict'isnotdefined四、

字典4.字典元素的縮減(del\clear\pop)

clear()方法刪除字典中所有元素,語法格式如下:

name_dict.clear()>>>a_dict={'tom':100,'lucy':98,'李濤':45}>>>a_dict.clear()>>>a_dict{}四、

字典4.字典元素的縮減(del\clear\pop)

pop()方法,返回與鍵對(duì)應(yīng)的值,并刪除該鍵值對(duì),語法格式如下:

value=name_dict.pop(key)>>>a_dict={'tom':100,'lucy':98,'李濤':45}>>>a_dict.pop('tom')100>>>a_dict{'lucy':98,'李濤':45}五、

集合

集合(set)屬于Python無序可變序列,同一個(gè)集合內(nèi)的每個(gè)元素都是唯一的,元素之間不允許重復(fù)。

集合中只能包含數(shù)字、字符串、元組等不可變類型(或者說可哈希)的數(shù)據(jù),而不能包含列表、字典、集合等可變類型的數(shù)據(jù)。五、

集合1.集合的創(chuàng)建

直接創(chuàng)建:大括號(hào)作為定界符,元素之間使用逗號(hào)分隔,語法格式:name_set={元素1,元素2,......,元素n}>>>a_set={1,2,3,4,5}>>>a_set{1,2,3,4,5}>>>b_set={1,2,5,3,4,4,5,6,1}>>>b_set{1,2,3,4,5,6}

#重復(fù)的自動(dòng)刪除五、

集合1.集合的創(chuàng)建

set()函數(shù)創(chuàng)建,語法格式:

name_set=set(seq)>>>a_set=set(range(8,14))>>>a_set{8,9,10,11,12,13}>>>b_set=set([0,1,2,3,0,1,2,3,7,8])>>>b_set{0,1,2,3,7,8}

#重復(fù)的自動(dòng)刪除五、

集合2.集合的訪問(in\notin)

in用于判斷元素是否在集合中,存在返回True,不存在則返回False。語法格式:xinst

>>>a

=

set(('c++','java','python'))>>>'php'inaFalse>>>'python'inaTrue

五、

集合2.集合的訪問(in\notin)

notin用于判斷元素是否不在集合中,不在返回True,存在則返回False。語法格式:xnotinst

>>>a

=

set(('c++','java','python'))>>>'php'notinaTrue>>>'python'

notinaFalse

五、

集合3.集合元素的增加(add\update)

add()方法可以增加新元素,如果該元素已存在則忽略該操作,語法格式:

set_name.add(元素)>>>st=set(('c++','java','python'))>>>st.add('c++')>>>st{'c++','python','java'}>>>st.add('php')>>>st{'php','c++','python','java'}

五、

集合3.集合元素的增加(add\update)

update()方法合并另一個(gè)集合中的元素到當(dāng)前集合中,并自動(dòng)去除重復(fù)元素,語法格式:

set_name.update(set)>>>st1=set(('c++','java','python'))>>>st2=set(('php','c+

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論