版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《Python數(shù)據(jù)分析與應(yīng)用》Python語言的發(fā)展和特點(diǎn)
Python繼承于ABC語言,主要受到Modula-3的影響,Modula-3是另一種相當(dāng)優(yōu)美且強(qiáng)大的語言,為小型團(tuán)體所設(shè)計(jì),并且結(jié)合了Unixshell和C的習(xí)慣。
GuidovanRossum“Lifeisshort,youneedPython!”Python發(fā)展歷程Python是著名的GuidovanRossum在1989年圣誕節(jié)期間發(fā)明,第一個(gè)公開發(fā)行版發(fā)行于1991年。2018年3月,Python核心團(tuán)隊(duì)宣布在2020年停止支持Python2,只支持python3。Python語言的發(fā)展和特點(diǎn)
Python的特點(diǎn)解釋性面向?qū)ο蟮谌綆扉_源,可移植簡單易學(xué)/jobbole/awesome-python-cnPython特色簡單“人世苦短,我用Python”
Python是一種代表簡單主義思想的語言。
專注于解決問題而不是去搞明白語言本身。易學(xué)Python極其容易上手Python有極其簡單的語法6Python特色免費(fèi)、開源Python是FLOSS(自由/開放源碼軟件)之一。簡單地說,可以自由地發(fā)布這個(gè)軟件的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用于新的自由軟件中。7Python特色解釋性Python語言寫的程序不需要編譯成二進(jìn)制代碼。Python解釋器把源代碼轉(zhuǎn)換成稱為字節(jié)碼的中間形式,然后再把它翻譯成計(jì)算機(jī)使用的機(jī)器語言并運(yùn)行。Python特色數(shù)據(jù)庫編程支持所有主流關(guān)系型數(shù)據(jù)庫:Oracle、Sybase、MySQL、PostgreSQL、Informix、SQLite支持非關(guān)系型數(shù)據(jù)庫:mongodb從關(guān)系數(shù)據(jù)庫映射到Python類(ORM):SQLAlchemy、SQLObject8Python特色科學(xué)計(jì)算Python在科學(xué)計(jì)算上能力超強(qiáng),堪與matlab比較。Python科學(xué)計(jì)算有numpy,scipy,matplotlib三劍客。其中,numpy負(fù)責(zé)數(shù)值計(jì)算,矩陣操作等;scipy負(fù)責(zé)常見的數(shù)學(xué)算法,插值、擬合等;matplotlib負(fù)責(zé)畫圖。9Python特色網(wǎng)絡(luò)爬蟲
網(wǎng)絡(luò)爬蟲的爬取、解析、存儲三個(gè)基本流程。講解了基于urllib、基于BeautifulSoup和基于Scrapy三種爬取方法,最后介紹了Selenium和PhantomJS使用抓取動態(tài)網(wǎng)頁數(shù)據(jù)。10Python特色Web開發(fā)Web應(yīng)用框架(Webapplicationframework)是一種開發(fā)框架,用來支持動態(tài)網(wǎng)站、網(wǎng)絡(luò)應(yīng)用程序的開發(fā)。web2py、Django、Flask等Web開發(fā)框架11Python與C語言 (1)Python是動態(tài)編譯語言,變量的使用只需賦值;C語言是靜態(tài)編輯語言,變量的使用必須先定義,方能使用。(2)Python有列表、元組、字典等數(shù)據(jù)結(jié)構(gòu),而C語言沒有。(3)Python是弱類型語言,C語言是強(qiáng)類型語言。Python與Java語言(1)Python與Java都支持面向?qū)ο缶幊?。?)Python比Java要簡單,非常適合構(gòu)造快速原型。(3)Python和Java都適合程序員協(xié)同開發(fā)大型項(xiàng)目。Python解釋器 Python解釋器由一個(gè)編譯器和一個(gè)虛擬機(jī)構(gòu)成,編譯器負(fù)責(zé)將源代碼轉(zhuǎn)換成字節(jié)碼文件,而虛擬機(jī)負(fù)責(zé)執(zhí)行字節(jié)碼。解釋型語言其實(shí)也有編譯過程,只不過這個(gè)編譯過程并不是直接生成目標(biāo)代碼,而是中間代碼(字節(jié)碼),然后再通過虛擬機(jī)來逐行解釋執(zhí)行字節(jié)碼Python解釋器執(zhí)行過程步驟1.執(zhí)行pythonXX.py后,將會啟動Python的解釋器步驟2.python解釋器的編譯器會將.py源文件編譯(解釋)成字節(jié)碼生成PyCodeObject字節(jié)碼對象存放在內(nèi)存中。Python解釋器執(zhí)行過程步驟3.python解釋器的虛擬機(jī)將執(zhí)行內(nèi)存中的字節(jié)碼對象轉(zhuǎn)化為機(jī)器語言,虛擬機(jī)與操作系統(tǒng)交互,使機(jī)器語言在機(jī)器硬件上運(yùn)行步驟4.運(yùn)行結(jié)束后python解釋器則將PyCodeObject寫回到pyc文件中。當(dāng)python程序第二次運(yùn)行時(shí),首先程序會在硬盤中尋找pyc文件,如果找到,則直接載入,否則就重復(fù)上面的過程Python解釋器種類Cpython官方下載的python3均為Cpython。Cpython是用C語言開發(fā),用>>>作為提示符。IpythonIPython是基于CPython之上的交互式解釋器,也就是說,IPython只是在交互方式上有所增強(qiáng),但是執(zhí)行Python代碼的功能和CPython是完全一樣,采用In[序號]:作為提示符。Python解釋器種類PyPyPyPy采用JIT技術(shù),對Python代碼進(jìn)行動態(tài)編譯(注意不是解釋),顯著提高Python代碼的執(zhí)行速度JythonJython是運(yùn)行在Java平臺上的Python解釋器,可以直接把Python代碼編譯成Java字節(jié)碼執(zhí)行。Python解釋器種類Ironpython
IronPython和Jython類似,只不過IronPython是運(yùn)行在微軟.Net平臺上的Python解釋器,直接將Python代碼編譯成.Net的字節(jié)碼。第一個(gè)python程序Hello,World!>>>print(‘Hello,World!‘)語句輸出:Hello,World!簡單的Python語言介紹Python編輯器自帶IDE編輯器
Jupyter用于數(shù)據(jù)分析和機(jī)器學(xué)習(xí);PyCharm適于大型工程項(xiàng)目
VSCode適合多種編輯語言22IDLE編輯器的兩種運(yùn)行方式交互式編程模式直接在提示符“>>>”后面輸入命令并回車執(zhí)行>>>4+59>>>3/0Traceback(mostrecentcalllast):File"<pyshell#18>",line1,in<module>3/0ZeroDivisionError:integerdivisionormodulobyzero23IDLE的腳本運(yùn)行方式(1)啟動IDLE;(2)選擇菜單File>NewFile創(chuàng)建一個(gè)程序文件,輸入代碼并保存為擴(kuò)展名為.py的文件。(3)選擇菜單Run>RunModuleF5運(yùn)行程序,程序運(yùn)行結(jié)果將直接顯示在IDLE交互界面上。24AnacondaAnaconda是一個(gè)開源的Python發(fā)行版本,其包含了conda、Python等180多個(gè)科學(xué)包及其依賴項(xiàng),在數(shù)據(jù)可視化、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等多方面都有涉及。25JupyterJupyternotebook是python的在線編輯器,以網(wǎng)頁的形式打開,適合進(jìn)行科學(xué)計(jì)算。在Jupyter的編輯過程中,運(yùn)行結(jié)果實(shí)時(shí)顯示在代碼下方,方便查看。26JupyterJupyternotebook是python的在線編輯器,以網(wǎng)頁的形式打開,適合進(jìn)行科學(xué)計(jì)算。在Jupyter的編輯過程中,運(yùn)行結(jié)果實(shí)時(shí)顯示在代碼下方,方便查看。27縮進(jìn)Python語言則將縮進(jìn)作為語法要求,通過使用代碼塊的縮進(jìn)來體現(xiàn)語句的邏輯關(guān)系,28注釋程序的注釋分為序言性注釋和功能性注釋。(1)序言性注釋:位于每個(gè)模塊開始處,作為序言性的注解,簡要描述模塊的功能、主要算法、接口特點(diǎn)、重要數(shù)據(jù)以及開發(fā)簡史。(2)功能性注釋:插在程序中間,與一段程序代碼有關(guān)的注解,是針對一些必要的變量,核心的代碼進(jìn)行解釋,主要解釋包含這段代碼的必要性。29注釋程序的注釋分為序言性注釋和功能性注釋。(1)序言性注釋:位于每個(gè)模塊開始處,作為序言性的注解,簡要描述模塊的功能、主要算法、接口特點(diǎn)、重要數(shù)據(jù)以及開發(fā)簡史。(2)功能性注釋:插在程序中間,與一段程序代碼有關(guān)的注解,是針對一些必要的變量,核心的代碼進(jìn)行解釋,主要解釋包含這段代碼的必要性。第2章Python編程基礎(chǔ)《Python數(shù)據(jù)分析與應(yīng)用》1常量、變量與標(biāo)識符1.1常量
在程序運(yùn)行過程中,其值不能改變的量稱為常量。(1)整型常量:-123、20(2)實(shí)型常量:3.14、0.15、-2.0(3)字符串常量:‘Python’、“VeryGood!”(4)布爾型常量:True、False(5)復(fù)數(shù)類型常量:3+2.5j1常量、變量與標(biāo)識符1.2變量在Python中,不需要事先聲明變量名及其類型,類型是在運(yùn)行過程中自動決定的,直接賦值即可創(chuàng)建各種類型的變量。
變量在程序中使用變量名表示,變量名必須是合法的標(biāo)識符,并且不能使用Python關(guān)鍵字。例如:>>>x=5>>>type(x)<class'int'>采用內(nèi)置函數(shù)type()返回變量x的類型int。1常量、變量與標(biāo)識符
>>>string=”HelloWorld!”創(chuàng)建了字符型變量string,并賦值為HelloWorld!。注意:Python是一種動態(tài)類型語言,即變量的類型可以隨時(shí)變化。例如:>>>x=5>>>type(x)
<class'int'>----------------------------------------------------->>>x="HelloWorld!">>>type(x)
<class'str'>
-----------------------------------------------------當(dāng)創(chuàng)建了字符串類型變量x之后,之前創(chuàng)建的整型變量x就自動失效了。1常量、變量與標(biāo)識符1.3標(biāo)識符合法的標(biāo)識符由字母、數(shù)字和下劃線的序列,且必須由字母或下劃線開頭,自定義的標(biāo)識符不能與關(guān)鍵字同名。合法的標(biāo)識符:x,a1,wang,num_1,radius,1,PI不合法的標(biāo)識符:a.1,1sum,x+y,!abc,123,π,3-cPython中,單獨(dú)的下劃線(_)用于表示上一次運(yùn)算的結(jié)果。例如:>>>2020>>>_*10
200常量、變量與標(biāo)識符標(biāo)識符的命名習(xí)慣:(1)變量名和函數(shù)名中的英文字母一般用小寫,以增加程序的可讀性。(2)見名知義:通過變量名就知道變量值的含義。一般選用相應(yīng)英文單詞或拼音縮寫的形式,如求和用sum,而盡量不要使用簡單代數(shù)符號,如x、y、z等。(3)盡量不要使用容易混淆的單個(gè)字符作為標(biāo)識符,例如數(shù)字0和字母o,數(shù)字1和字母l。(4)開頭和結(jié)尾都使用下劃線的情況應(yīng)該避免,因?yàn)镻ython中大量采用這種名字定義了各種特殊方法和變量。2Python的基本數(shù)據(jù)類型
在程序設(shè)計(jì)語言中,都是采用數(shù)據(jù)類型來描述程序中的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)的表示范圍和數(shù)據(jù)在內(nèi)存中的存儲分配等。2Python的基本數(shù)據(jù)類型2.1整型數(shù)據(jù)
整型數(shù)據(jù)即整數(shù),不帶小數(shù)點(diǎn),可以有正號或者負(fù)號。在Python3.x中,整型數(shù)據(jù)在計(jì)算機(jī)內(nèi)的表示沒有長度限制,其值可以任意大。(1)十進(jìn)制整數(shù)。(2)二進(jìn)制常數(shù)。以0b為前綴,其后由0和1組成。如:0b1001表示二進(jìn)制數(shù)1001,即(1001)2。(3)八進(jìn)制整數(shù)。以0o為前綴,其后由0至7的數(shù)字組成。如:0o456表示八進(jìn)制數(shù)456,即(456)8。(4)十六進(jìn)制整數(shù)。以0x或0X開頭,其后由0至9的數(shù)字和a至f字母或A至F字母組成。如:0x7A表示十六進(jìn)制數(shù)7A,即(7A)16。2Python的基本數(shù)據(jù)類型【例】整型常量。>>>0xff255----------------------------------------------------->>>20172017----------------------------------------------------->>>0b10011001153----------------------------------------------------->>>0b012SyntaxError:invalidsyntax----------------------------------------------------->>>-0o11-92Python的基本數(shù)據(jù)類型2.2實(shí)型數(shù)據(jù)實(shí)數(shù)又稱浮點(diǎn)數(shù),一般有兩種表示形式:(1)十進(jìn)制小數(shù)形式。由數(shù)字和小數(shù)點(diǎn)組成(必須有小數(shù)點(diǎn)),如:1.2、.24、0.0等,浮點(diǎn)型數(shù)據(jù)允許小數(shù)點(diǎn)后沒有任何數(shù)字,表示小數(shù)部分為0,如2.表示2.0.(2)指數(shù)形式。用科學(xué)計(jì)數(shù)法表示的浮點(diǎn)數(shù),用字母e(或E)表示以10為底的指數(shù),e之前為數(shù)字部分,之后為指數(shù)部分。如,123.4e3和123.4E3均表示123.4×103。
注意:e(或E)前面必須有數(shù)字,后面必須是整數(shù)。
15e2.3e3.e32Python的基本數(shù)據(jù)類型
對于實(shí)型常量,Python3.x默認(rèn)提供17位有效數(shù)字的精度。例如:
>>>1234567890012345.0
1234567890012345.0----------------------------------------------------->>>12345678900123456789.0
1.2345678900123458e+19----------------------------------------------------->>>15e2
1500.0----------------------------------------------------->>>15e2.3
SyntaxError:invalidsyntax2Python的基本數(shù)據(jù)類型2.3字符型數(shù)據(jù)在Python中定義一個(gè)字符串可以用用一對單引號、雙引號或者三引號進(jìn)行界定,且單引號、雙引號和三引號還可以相互嵌套,表示復(fù)雜的字符串。例如:
>>>“Let'sgo”
“Let'sgo”----------------------------------------------------->>>s=“'Python'Program”>>>s
“'Python'Program”-----------------------------------------------------2Python的基本數(shù)據(jù)類型
轉(zhuǎn)義字符字符形式含義\n
回車換行,將當(dāng)前位置移到下一行開頭\t
橫向跳到下一制表位置(Tab)\b
退格,將當(dāng)前位置退回到前一列\(zhòng)r
回車,將當(dāng)前位置移到當(dāng)前行開頭\f
走紙換頁,將當(dāng)前位置移到下頁開頭\\
反斜線符"\"\'單引號符\"雙引號符\ddd1~3位8進(jìn)制數(shù)所代表的字符\xhh1~2位16進(jìn)制數(shù)所代表的字符2Python的基本數(shù)據(jù)類型使用轉(zhuǎn)義字符時(shí)要注意:(1)轉(zhuǎn)義字符多用于print()函數(shù)中。(2)轉(zhuǎn)義字符常量,如'\n','\x86'等只能代表一個(gè)字符。(3)反斜線后的八進(jìn)制數(shù)可以不用0開頭。如'\101'代表字符常量'A','\134'代表字符常量'\'。(4)反斜線后的十六進(jìn)制數(shù)只能以小寫字母x開頭,不允許用大寫字母X或0x開頭?!纠哭D(zhuǎn)義字符。a=1b=2c='\101'
print("\t%d\n%d%s\n%d%d\t%s"%(a,b,c,a,b,c))運(yùn)行結(jié)果: 12A12 A2Python的基本數(shù)據(jù)類型2.4布爾型數(shù)據(jù)Python的布爾類型有兩個(gè)值:True和False,分別表示邏輯真和邏輯假?!纠坎紶栃蛿?shù)據(jù)示例。>>>type(True)
<class'bool'>----------------------------------------------------->>>True==1True----------------------------------------------------->>>False==0
True2Python的基本數(shù)據(jù)類型
>>>1>2False----------------------------------------------------->>>False>-1True布爾類型還可以與其他數(shù)據(jù)類型進(jìn)行邏輯運(yùn)算,Python規(guī)定:0、空字符串、None為False,其他數(shù)值和非空字符串為True。>>>0andFalse
0----------------------------------------------------->>>NoneorTrue
True----------------------------------------------------->>>""or1
12Python的基本數(shù)據(jù)類型2.5復(fù)數(shù)類型數(shù)據(jù)復(fù)數(shù)由兩部分組成:實(shí)部和虛部。復(fù)數(shù)的形式為:實(shí)部+虛部j。例如:>>>x=3+5j#x為復(fù)數(shù)>>>x.real#查看復(fù)數(shù)實(shí)部
3.0----------------------------------------------------->>>x.imag#查看復(fù)數(shù)虛部
5.0----------------------------------------------------->>>y=6-10j#y為復(fù)數(shù)>>>x+y#復(fù)數(shù)相加
(9-5j)3運(yùn)算符與表達(dá)式3.1Python運(yùn)算符Python語言的運(yùn)算符按照它們的功能可分為:(1)算術(shù)運(yùn)算符(+、–、*、/、**、//、%)。(2)關(guān)系運(yùn)算符(>、<、>=、<=、==、!=)。(3)邏輯運(yùn)算符(and、or、not)。(4)位運(yùn)算符(<<、>>、~、|、^、&)。(5)賦值運(yùn)算符(=、復(fù)合賦值運(yùn)算符)。(6)成員運(yùn)算符(in、notin)。(7)同一運(yùn)算符(is、isnot)。3運(yùn)算符與表達(dá)式3.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式1.算術(shù)運(yùn)算符
運(yùn)算符含義優(yōu)先級結(jié)合性+加法這些運(yùn)算符的優(yōu)先級相同,但比下面的運(yùn)算符優(yōu)先級低左結(jié)合-減法*乘法這些運(yùn)算符的優(yōu)先級相同,但比上面的運(yùn)算符優(yōu)先級高/除法//取整除**冪運(yùn)算%取模3運(yùn)算符與表達(dá)式
Python中除法有兩種:/和//,在Python3.x分別表示除法和整除運(yùn)算。>>>3/5
0.6----------------------------------------------------->>>3//5
0----------------------------------------------------->>>-3.0//5
-1.0----------------------------------------------------->>>3.0//-5
-1.03運(yùn)算符與表達(dá)式
**運(yùn)算符實(shí)現(xiàn)乘方運(yùn)算,其優(yōu)先級高于*和/。例如:>>>2**3
8----------------------------------------------------->>>2**3.5
11.313708498984761----------------------------------------------------->>>4*3**2
363運(yùn)算符與表達(dá)式運(yùn)算符的多重含義:>>>3*5#整數(shù)相乘運(yùn)算
15----------------------------------------------------->>>'a'*10#字符串重復(fù)運(yùn)算
'aaaaaaaaaa'-----------------------------------------------------
3運(yùn)算符與表達(dá)式%運(yùn)算符表示對整數(shù)和浮點(diǎn)數(shù)的取模運(yùn)算。由于受浮點(diǎn)數(shù)精確度的影響,計(jì)算結(jié)果會有誤差。>>>5%-3
-1----------------------------------------------------->>>10.5%2.1#浮點(diǎn)數(shù)取模運(yùn)算
2.0999999999999996#結(jié)果有誤差3運(yùn)算符與表達(dá)式2.算術(shù)表達(dá)式例如:
3+a*b/5-2.3+′b′3.數(shù)據(jù)轉(zhuǎn)換在Python中,同一個(gè)表達(dá)式允許不同類型的數(shù)據(jù)參加運(yùn)算,這就要求在運(yùn)算之前,先將這些不同類型的數(shù)據(jù)轉(zhuǎn)換成同一類型,然后再進(jìn)行運(yùn)算?!纠孔詣宇愋娃D(zhuǎn)換。>>>10/4*410.0>>>type(10/4*4)<class'float'>3運(yùn)算符與表達(dá)式
當(dāng)自動類型轉(zhuǎn)換達(dá)不到轉(zhuǎn)換需求時(shí),可以使用類型轉(zhuǎn)換函數(shù),將數(shù)據(jù)從一種類型強(qiáng)制(或稱為顯式)轉(zhuǎn)換成另一種類型。函數(shù)功能描述int(x)將x轉(zhuǎn)換為整數(shù)float(x)將x轉(zhuǎn)換為浮點(diǎn)數(shù)complex(x)將x轉(zhuǎn)換為復(fù)數(shù),其中實(shí)部為x,虛部為0complex(x,y)將x、y轉(zhuǎn)換為復(fù)數(shù),其中實(shí)部為x,虛部為ystr(x)將x轉(zhuǎn)換為字符串chr(x)將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)字符,整數(shù)為字符的ASCII編碼ord(x)將一個(gè)字符轉(zhuǎn)換為它的ASCII編碼的整數(shù)值hex(x)將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)十六進(jìn)制字符串oct(x)將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)八進(jìn)制字符串eval(x)將字符串str當(dāng)做有效表達(dá)式求值,并返回計(jì)算結(jié)果3運(yùn)算符與表達(dá)式3.3賦值運(yùn)算符和賦值表達(dá)式1.賦值運(yùn)算符賦值運(yùn)算符用“=”表示。2.賦值表達(dá)式變量=表達(dá)式等號的左邊必須是變量,右邊是表達(dá)式。>>>y=2>>>x=(y+2)/3>>>x
1.33333333333333333運(yùn)算符與表達(dá)式
注意:Python的賦值和一般的高級語言的賦值有很大的不同,它是引用賦值??聪旅娴拇a1:例如:
>>>a=5
>>>b=8
>>>a=b
執(zhí)行a=5和b=8之后a指向的是5,b指向的是8,當(dāng)執(zhí)行a=b的時(shí)候,b把自己指向的地址(也就是8的內(nèi)存地址)賦給了a,那么最后的結(jié)果就是a和b同時(shí)指向了8。3.多變量賦值(1)鏈?zhǔn)劫x值在Python中,可通過鏈?zhǔn)劫x值將同一個(gè)值賦給多個(gè)變量的,一般形式為:>>>x=y=5>>>x53運(yùn)算符與表達(dá)式(2)多變量并行賦值
變量1,變量2,…,變量n=表達(dá)式1,表達(dá)式2,…,表達(dá)式n變量個(gè)數(shù)要與表達(dá)式的個(gè)數(shù)一致,其過程為:首先計(jì)算表達(dá)式右邊n個(gè)表達(dá)式的值,然后同時(shí)將表達(dá)式的值賦給左邊的n個(gè)變量。例如:>>>x,y,z=2,5,8>>>x
2----------------------------------------------------->>>y
5----------------------------------------------------->>>z
83運(yùn)算符與表達(dá)式例如:>>>x=20>>>x,x=3,x*3>>>x
60
采取并行賦值,可以使用一條語句就可以交換兩個(gè)變量的值:x,y=y,x。3運(yùn)算符與表達(dá)式4.復(fù)合的賦值運(yùn)算符賦值運(yùn)算符“=”與7種算術(shù)運(yùn)算符(+、-、*、/、//、**、%)和5種位運(yùn)算符(>>、<<、&、^、|)結(jié)合構(gòu)成12種復(fù)合的賦值運(yùn)算符。結(jié)合方向?yàn)樽杂抑磷?。例如:a+=3 等價(jià)于 a=a+3a*=a+3 等價(jià)于 a=a*(a+3)a%=3 等價(jià)于 a=a%3注意:“a*=a+3”與“a=a*a+3”是不等價(jià)的,“a*=a+3”等價(jià)于“a=a*(a+3)”,這里括號是必需的。3運(yùn)算符與表達(dá)式【例】復(fù)合的賦值運(yùn)算符。>>>a=3>>>b=5>>>a+=b>>>a
8----------------------------------------------------->>>a>>=2>>>a
2----------------------------------------------------->>>a*=a+3>>>a
103運(yùn)算符與表達(dá)式3.4關(guān)系運(yùn)算符和關(guān)系表達(dá)式1.關(guān)系運(yùn)算符
運(yùn)算符含義優(yōu)先級結(jié)合性>大于這些運(yùn)算符的優(yōu)先級相同,但比下面的運(yùn)算符優(yōu)先級低左結(jié)合>=大于等于<小于這些運(yùn)算符的優(yōu)先級相同,但比上面的運(yùn)算符優(yōu)先級高<=小于等于==等于!=不等于<>不等于3運(yùn)算符與表達(dá)式
關(guān)系運(yùn)算符的優(yōu)先級:{>、>=、<、<=}→{==、!=、<>}在Python中,真用“True”表示,假用“False”表示。>>>x,y,z=2,3,5>>>x>y
False>>>x<y<zTrue3運(yùn)算符與表達(dá)式
注意:浮點(diǎn)數(shù)的相等。在計(jì)算機(jī)中,浮點(diǎn)數(shù)是實(shí)數(shù)的近似值。執(zhí)行一系列浮點(diǎn)數(shù)的運(yùn)算后,可能會發(fā)生四舍五入的情況。例如:>>>x=123456>>>y=-111111>>>z=1.2345678>>>a=(x+y)+z>>>b=x+(y+z)>>>a
12346.2345678>>>b
12346.2345677999983運(yùn)算符與表達(dá)式3.5邏輯運(yùn)算符和邏輯表達(dá)式
1.邏輯運(yùn)算符
運(yùn)算符含義優(yōu)先級結(jié)合性not邏輯非
右結(jié)合and邏輯與左結(jié)合Or邏輯或3運(yùn)算符與表達(dá)式2.邏輯表達(dá)式及短路運(yùn)算(1)對于與運(yùn)算aandb如果a為真,繼續(xù)計(jì)算b,b將決定最終整個(gè)表達(dá)式的真值,所以,結(jié)果為b的值。如果a為假,無需計(jì)算b,就可以得知整個(gè)表達(dá)式的真值為假,所以,結(jié)果為a的值。例如:>>>Trueand0>>>Falseand120False3運(yùn)算符與表達(dá)式(2)對于或運(yùn)算aorb如果a為真,無需計(jì)算b,就可得知整個(gè)表達(dá)式的真值為真,所以結(jié)果為a的值。如果a為假,繼續(xù)計(jì)算b,b將決定整個(gè)表達(dá)式最終的值,所以結(jié)果為b的值例如:>>>Trueor0
True>>>Falseor12
12>>>Falseor12or0
123運(yùn)算符與表達(dá)式3.6成員運(yùn)算符和成員表達(dá)式
成員運(yùn)算符用于判斷一個(gè)元素是否在某一個(gè)序列中,或者判斷一個(gè)字符是否屬于這個(gè)字符串等,運(yùn)算結(jié)果仍是邏輯值。運(yùn)算符含義優(yōu)先級結(jié)合性in存在
相同左結(jié)合notin不存在>>>'a'in'abcd'True>>>'ac'in'abcd'False3運(yùn)算符與表達(dá)式
notin運(yùn)算符用于在指定的序列中查找某個(gè)值是否不存在,不存在返回True,存在返回False。>>>'a'notin'bcd'
True>>>3notin[1,2,3,4]False3運(yùn)算符與表達(dá)式3.7同一性運(yùn)算符和同一性表達(dá)式同一性運(yùn)算符用于測試兩個(gè)變量是否指向同一個(gè)對象,其運(yùn)算結(jié)果是邏輯值。運(yùn)算符含義優(yōu)先級結(jié)合性is相同
相同左結(jié)合isnot不相同is檢查用來運(yùn)算的兩個(gè)變量是否引用同一對象,如果相同返回True,不相同則返回False。isnot檢查用來運(yùn)算的兩個(gè)變量是否不是引用同一對象,如果不是同一個(gè)對象返回True,否則返回False。3.4運(yùn)算符的優(yōu)先級和結(jié)合性優(yōu)先級運(yùn)算符結(jié)合性
高低()從左至右***、/、%、//+、-<、<=、>、>===、!=、<>is、notisin、notinnot從右至左and從左至右or第3章
序列《Python數(shù)據(jù)分析與應(yīng)用》序列:一系列連續(xù)值,它們通常是相關(guān)的,并且按一定順序排列。序列c:12個(gè)整數(shù)元素引用元素:序列名+[位置編號]第1個(gè)元素的位置編號為0,c[0]第2個(gè)元素是c[1]第i個(gè)元素是c[i-1]
序列也可以從尾部訪問:最后一個(gè)元素是c[-1]倒數(shù)第2個(gè)是c[-2]倒數(shù)第i個(gè)元素是c[-i]位置編號——也稱“下標(biāo)”或“索引”,是整數(shù)或整數(shù)表達(dá)式。列表是Python中內(nèi)置數(shù)據(jù)類型,是一個(gè)元素的有序集合一個(gè)列表中的數(shù)據(jù)類型可以各不相同列表中的每一個(gè)數(shù)據(jù)稱為元素其所有元素用逗號分割并放在一對中括號“[”和“]”中例如:[1,2,3,4,5]['Python','C','HTML','Java','Perl
']['wade',3.0,81,['bosh','haslem']]列表的基本操作1.列表的創(chuàng)建使用賦值運(yùn)算符“=”將一個(gè)列表賦值給變量即可創(chuàng)建列表對象。>>>a_list=
['physics','chemistry',2017,2.5]>>>b_list=['wade',3.0,81,['bosh','haslem']]>>>c_list=[1,2,(3.0,'helloworld!')]>>>d_list=[]2.列表元素讀取方法為:列表名[索引]>>>a_list=['physics','chemistry',2017,2.5,[0.5,3]]>>>a_list[1]'chemistry'>>>a_list[-1][0.5,3]>>>a_list[5]Traceback(mostrecentcalllast):File"<pyshell#9>",line1,in<module>a_list[5]IndexError:listindexoutofrange切片操作的方法是:列表名[開始索引:結(jié)束索引:步長]。3.列表切片>>>a_list[1:3]['chemistry',2017]>>>a_list[1:-1]['chemistry',2017,2.5]>>>a_list[:3]['physics','chemistry',2017]>>>a_list[1:]
['chemistry',2017,2.5,[0.5,3]]>>>a_list[:]['physics','chemistry',2017,2.5,[0.5,3]]>>>a_list[::2]['physics',2017,[0.5,3]]a_list=['physics','chemistry',2017,2.5,[0.5,3]](1)使用“+”運(yùn)算符將一個(gè)新列表添加在原列表的尾部。4.增加元素>>>id(a_list)#獲取列表a_list的地址49411096>>>a_list=a_list+[5]>>>a_list['physics','chemistry',2017,2.5,[0.5,3],5]>>>id(a_list)#獲取添加元組時(shí)候a_list的地址49844992
a_list=['physics','chemistry',2017,2.5,[0.5,3]](2)使用列表對象的append()方法向列表尾部添加一個(gè)新的元素
>>>a_list.append('Python')
>>>a_list['physics','chemistry',2017,2.5,[0.5,3],5,'Python'](3)使用列表對象的extend()方法將一個(gè)新列表添加在原列表的尾部。>>>a_list.extend([2017,'C'])>>>a_list['physics',2017,'chemistry',2.5,[0.5,3],5,'Python',2017,'C'](4)使用列表對象的insert()方法將一個(gè)元素插入到列表的指定位置。>>>a_list.insert(3,3.5)>>>a_list['physics',2017,'chemistry',3.5,2.5,[0.5,3],5,'Python',2017,'C']a_list=[‘physics’,‘chemistry’,2017,2.5,[0.5,3],5]6.刪除元素(1)使用del命令刪除列表中指定位置的元素。>>>dela_list[2]>>>a_list['physics',2017,3.5,2.5,[0.5,3],5,'Python',2017,'C']del命令也可以直接刪除整個(gè)列表。>>>b_list=[10,7,1.5]>>>b_list[10,7,1.5]>>>delb_list>>>b_listTraceback(mostrecentcalllast):File"<pyshell#42>",line1,in<module>b_listNameError:name'b_list'isnotdefineda_list=['physics',2017,'chemistry',3.5,2.5,[0.5,3],5,'Python',2017,'C'](2)使用列表對象的remove()方法刪除首次出現(xiàn)的指定元素>>>a_list.remove(2017)>>>a_list['physics',3.5,2.5,[0.5,3],5,'Python',2017,'C']>>>a_list.remove(2017)>>>a_list['physics',3.5,2.5,[0.5,3],5,'Python','C']>>>a_list.remove(2017)Traceback(mostrecentcalllast):File"<pyshell#30>",line1,in<module>a_list.remove(2017)ValueError:list.remove(x):xnotinlista_list=['physics',2017,'chemistry',3.5,2.5,[0.5,3],5,'Python',2017,'C']4.sum()格式:sum(列表)功能:對數(shù)值型列表的元素進(jìn)行求和運(yùn)算,對非數(shù)值型列表運(yùn)算則出錯>>>a_list=[23,59,-1,2.5,39]>>>sum(a_list)122.5>>>b_list=['123','xyz','zara','abc']>>>sum(b_list)Traceback(mostrecentcalllast):File"<pyshell#11>",line1,in<module>sum(b_list)TypeError:unsupportedoperandtype(s)for+:'int'and'str'13十二月20245.sorted()格式:sorted(列表)功能:對列表進(jìn)行排序,默認(rèn)是按照升序排序。該方法不會改變原列表的順序。>>>a_list=[80,48,35,95,98,65,99,95,18,71]>>>sorted(a_list)[18,35,48,65,71,80,95,95,98,99]>>>a_list[80,48,35,95,98,65,99,95,18,71]降序排序:在sorted()函數(shù)的列表參數(shù)后面增加一個(gè)reverse參數(shù),讓其值等于True則表示降序排序,等于Flase表示升序排序。>>>a_list=[80,48,35,95,98,65,99,95,18,71]>>>sorted(a_list,reverse=True)[99,98,95,95,80,71,65,48,35,18]>>>sorted(a_list,reverse=False)[18,35,48,65,71,80,95,95,98,99]6.sort()格式:list.sort()功能:對列表進(jìn)行排序,排序后的新列表會覆蓋原列表,默認(rèn)為升序排序。>>>a_list=[80,48,35,95,98,65,99,95,18,71]>>>a_list.sort()>>>a_list[18,35,48,65,71,80,95,95,98,99]降序排序:在sort()方法中增加一個(gè)reverse參數(shù)>>>a_list=[80,48,35,95,98,65,99,95,18,71]>>>a_list.sort(reverse=True)>>>a_list[99,98,95,95,80,71,65,48,35,18]>>>a_list.sort(reverse=False)>>>a_list[18,35,48,65,71,80,95,95,98,99]7.reverse()格式:list.reverse()功能:對list列表中的元素進(jìn)行翻轉(zhuǎn)存放,不會對原列表進(jìn)行排序。>>>a_list=[80,48,35,95,98,65,99,95,18,71]>>>a_list.reverse()>>>a_list
[71,18,95,99,65,98,95,35,48,80]列表基本操作及常用函數(shù)總結(jié)如表6.1所示。方法功能list.append(obj)在列表末尾添加新的對象list.extend(seq)在列表末尾一次性追加另一個(gè)序列中的多個(gè)值list.insert(index,obj)將對象插入列表list.index(obj)從列表中找出某個(gè)值第一個(gè)匹配項(xiàng)的索引位置list.count(obj)統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)list.remove(obj):移除列表中某個(gè)值的第一個(gè)匹配項(xiàng)list.pop(obj=list[-1])移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素),并且返回該元素的值sort()對原列表進(jìn)行排序reverse()反向存放列表元素cmp(list1,list2)比較兩個(gè)列表的元素len(list)求列表元素個(gè)數(shù)max(list)返回列表元素的最大值min(list)返回列表元素的最小值list(seq)將元組轉(zhuǎn)換為列表sum(list)對數(shù)值型列表元素求和3列表應(yīng)用舉例【例】從鍵盤上輸入一批數(shù)據(jù),對這些數(shù)據(jù)進(jìn)行逆置,最后按照逆置后的結(jié)果輸出。分析:將輸入的數(shù)據(jù)存放在列表中,將列表的所有元素鏡像對調(diào),即第一個(gè)與最后一個(gè)對調(diào),第二個(gè)與倒數(shù)第二個(gè)對調(diào),……。b_list=input("請輸入數(shù)據(jù):")a_list=[]foriinb_list.split(','):a_list.append(i)print("逆置前數(shù)據(jù)為:",a_list)n=len(a_list)foriinrange(n//2):a_list[i],a_list[n-i-1]=a_list[n-i-1],a_list[i]print("逆置后數(shù)據(jù)為:",a_list)【例】編寫程序,求出1000以內(nèi)的所有完數(shù),并按下面的格式輸出其因子:
6itsfactorsare1,2,3。分析:一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為“完數(shù)”。例如6就是一個(gè)完數(shù),因?yàn)?的因子有1、2、3,且6=1+2+3。m=1000forainrange(2,m+1):s=0L1=[]foriinrange(1,a):ifa%i==0:s+=iL1.append(i)ifs==a:print("%ditsfactorsare:"%a,L1)程序運(yùn)行結(jié)果:6itsfactorsare:[1,2,3]28itsfactorsare:[1,2,4,7,14]496itsfactorsare:[1,2,4,8,16,31,62,124,248]元組(tuple)的定義形式與列表類似,區(qū)別在于定義元組時(shí)所有元素放在一對圓括號“(”和“)”中。例如:
(1,2,3,4,5)('Python','C','HTML','Java','Perl')元組元組的基本操作1.元組的創(chuàng)建賦值運(yùn)算符“=”將一個(gè)元組賦值給變量即可創(chuàng)建元組對象。>>>a_tuple=
('physics','chemistry',2017,2.5)>>>b_tuple=(1,2,(3.0,'helloworld!'))>>>c_tuple=('wade',3.0,81,['bosh','haslem'])>>>d_tuple=()創(chuàng)建只包含一個(gè)1個(gè)元素的元組方法:>>>x=(1)>>>x1>>>y=(1,)>>>y(1,)
>>>z=(1,2)>>>z(1,2)2.讀取元素方法為:元組名[索引]>>>a_tuple=('physics','chemistry',2017,2.5)>>>a_tuple[1]'chemistry'>>>a_tuple[-1]2.5>>>a_tuple[5]Traceback(mostrecentcalllast):File"<pyshell#14>",line1,in<module>a_tuple[5]IndexError:tupleindexoutofrange3.元組切片元組也可以進(jìn)行切片操作,方法與列表類似。對元組切片可以得到一個(gè)新元組。>>>a_tuple[1:3]('chemistry',2017)>>>a_tuple[::3]('physics',2.5)a_tuple=('physics','chemistry',2017,2.5)4.檢索元素(1)使用元組對象的index()方法可以獲取指定元素首次出現(xiàn)的下標(biāo)。>>>a_tuple.index(2017)2>>>a_tuple.index('physics',-3)Traceback(mostrecentcalllast):File"<pyshell#24>",line1,in<module>a_tuple.index('physics',-3)ValueError:tuple.index(x):xnotintuple(2)使用元組對象的count()方法統(tǒng)計(jì)元組中指定元素出現(xiàn)的次數(shù)。>>>a_tuple.count(2017)1>>>a_tuple.count(1)0(3)使用in運(yùn)算符檢索某個(gè)元素是否在該元組中。>>>'chemistry'ina_tupleTrue>>>0.5ina_tupleFalsea_tuple=('physics','chemistry',2017,2.5)5.刪除元組使用del語句刪除元組,刪除之后對象就不存在了,再次訪問會出錯。>>>dela_tuple>>>a_tupleTraceback(mostrecentcalllast):File"<pyshell#30>",line1,in<module>a_tupleNameError:name'a_tuple'isnotdefined列表與元組的區(qū)別及轉(zhuǎn)換1.列表與元組的區(qū)別不同點(diǎn)在于列表是可變序列與列表相比,元組具有以下優(yōu)點(diǎn)。(1)元組的處理速度和訪問速度比列表快。如果定義了一系列常量值,主要對其進(jìn)行遍歷或者類似用途,而不需要對其元素進(jìn)行修改,這種情況一般使用元組??梢哉J(rèn)為元組對不需要修改的數(shù)據(jù)進(jìn)行了“寫保護(hù)”,可以使代碼更安全。(2)作為不可變序列,元組(包含數(shù)值、字符串和其他元組的不可變數(shù)據(jù))可用作字典的鍵,而列表不可以充當(dāng)字典的鍵,因?yàn)榱斜硎强勺兊摹?.列表與元組的轉(zhuǎn)換>>>a_list=['physics','chemistry',2017,2.5,[0.5,3]]>>>tuple(a_list)('physics','chemistry',2017,2.5,[0.5,3])>>>type(a_list)<class'list'>>>>b_tuple=(1,2,(3.0,'helloworld!'))>>>list(b_tuple)[1,2,(3.0,'helloworld!')]>>>type(b_tuple)<class'tuple'>元組應(yīng)用利用元組來一次性給多個(gè)變量賦值。>>>v=('Python',2,True)>>>(x,y,z)=v>>>x'Python'>>>y2>>>zTruePython中的字符串用一對單引號(')或雙引號(")括起來。例如:>>>'Python' 'Python'>>>"PythonProgram"'PythonProgram'字符串三重引號字符串如果字符串占據(jù)了幾行,但卻想讓Python保留輸入時(shí)使用的準(zhǔn)確格式,例如行與行之間的回車符、引號、制表符或者其他信息都保存下來,則可以使用三重引號>>>'''Pythonisan"object-oriented"open-sourceprogramminglanguage''''Pythonisan"object-oriented"\nopen-sourceprogramminglanguage'字符串基本操作1.字符串創(chuàng)建使用賦值運(yùn)算符“=”將一個(gè)字符串賦值給變量即可創(chuàng)建字符串對象。>>>str1="Hello">>>str1>>>str2='Program\n\'Python\'' >>>str2"Program\n'Python'"2.字符串元素讀取方法為:字符名[索引]>>>str1[0]'H'>>>str1[-1]'o'3.字符串分片方法:字符串名[開始索引:結(jié)束索引:步長]>>>str="PythonProgram">>>str[0:5:2] 'Pto'>>>str[:]'PythonProgram'>>>str[-1:-20]
''>>>str[-1:-20:-1]'margorPnohtyP'4.連接使用運(yùn)算符“+”,將兩個(gè)字符串對象連接起來>>>"Hello"+"World"'HelloWorld'>>>"P"+"y"+"t"+"h"+"o"+"n"+"Program"'PythonProgram'將字符串和數(shù)值類型數(shù)據(jù)進(jìn)行連接時(shí),需要使用str()函數(shù)將數(shù)值數(shù)據(jù)轉(zhuǎn)換成字符串,然后再進(jìn)行連接運(yùn)算。>>>"Python"+str(3)'Python3'5.重復(fù)字符串重復(fù)操作使用運(yùn)算符“*”,構(gòu)建一個(gè)由字符串自身重復(fù)連接而成的字符串對象。例如:>>>"Hello"*3'HelloHelloHello'>>>3*"HelloWorld!"'HelloWorld!HelloWorld!HelloWorld!'字符串的常用方法1.子串查找str.find(substr,[start,[,end]])>>>s1="beijingxi'antianjinbeijingchongqing">>>s1.find("beijing")0>>>s1.find("beijing",3)22>>>s1.find("beijing",3,20)-12.字符串替換字符串替換replace()方法的一般形式為: str.replace(old,new(,max))>>>s2="thisisstringexample.thisisstringexample.">>>s2.replace("is","was")
'thwaswasstringexample.thwaswasstringexample.'>>>s2="thisisstringexample.thisisstringexample.">>>s2.replace("is","was",2)'thwaswasstringexample.thisisstringexample.'13十二月20243.字符串分離
str.split([sep])sep表示分隔符,默認(rèn)以空格作為分隔符。若參數(shù)中沒有分隔符,則把整個(gè)字符串作為列表的一個(gè)元素,當(dāng)有參數(shù)時(shí),以該參數(shù)進(jìn)行分割。>>>s3="beijing,xi'an,tianjin,beijing,chongqing">>>s3.split(',')
['beijing',"xi'an",'tianjin','beijing','chongqing']
>>>s3.split('a')
["beijing,xi'",'n,ti','njin,beijing,chongqing']>>>s3.split()
["beijing,xi'an,tianjin,beijing,chongqing"]4.字符串連接
sep.join(sequence)其中sep表示分隔符,可以為空,sequence是要連接的元素序列。>>>s4=["beijing","xi'an","tianjin","chongqing"]>>>sep="-->">>>str=sep.join(s4)#連接列表元素>>>str#輸出連接結(jié)果"beijing-->xi'an-->tianjin-->chongqing">>>s5=("Hello","World")>>>sep="">>>sep.join(s5)#連接元組元素'HelloWorld'字符串應(yīng)用舉例【例】從鍵盤輸入5個(gè)英文單詞,輸出其中以元音字母開頭的單詞。str="AEIOUaeiou"a_list=[]foriinrange(0,5):word=input("請輸入一個(gè)英文單詞:")a_list.append(word)print("輸入的5個(gè)英文單詞是:",a_list)print("首字母是元音的英文單詞有:")foriinrange(0,5):forchinstr:ifa_list[i][0]==ch:print(a_list[i])break第3章
序列《Python數(shù)據(jù)分析與應(yīng)用》字典通過任意鍵信息查找一組數(shù)據(jù)中值信息的過程叫映射,Python語言中通過字典實(shí)現(xiàn)映射。Python語言中的字典可以通過大括號({})建立,建立模式如下:{<鍵1>:<值1>,<鍵2>:<值2>,…,<鍵n>:<值n>}其中,鍵和值通過冒號連接,不同鍵值對通過逗號隔開。字典類型的基本概念>>>Dcountry={"中國":"北京","美國":"華盛頓","法國":"巴黎"}>>>print(Dcountry){'中國':'北京','法國':'巴黎','美國':'華盛頓'}字典打印出來的順序與創(chuàng)建之初的順序不同,各個(gè)元素并沒有順序之分。字典常用操作
1.字典的創(chuàng)建(1)使用“=”將一個(gè)字典賦給一個(gè)變量>>>a_dict={'Alice':95,'Beth':82,'Tom':65.5,'Emily':95}>>>a_dict{'Emily':95,'Tom':65.5,'Alice':95,'Beth':82}>>>b_dict={}>>>b_dict{}(2)使用內(nèi)建函數(shù)dict()>>>c_dict=dict(zip(['one','two','three'],[1,2,3]))>>>c_dict{'three':3,'one':1,'two':2}>>>d_dict=dict(one=1,two=2,three=3)>>>e_dict=dict([('one',1),('two',2),('three',3)])>>>f_dict=dict((('one',1),('two',2),('three',3)))>>>g_dict=dict()>>>g_dict{}(3)使用內(nèi)建函數(shù)fromkeys()一般形式:dict.fromkeys(seq[,value]))>>>h_dict={}.fromkeys((1,2,3),'student’)>>>h_dict{1:'student',2:'student',3:'student'}>>>i_dict={}.fromkeys((1,2,3))>>>i_dict{1:None,2:None,3:None}>>>j_dict={}.fromkeys(())>>>j_dict{}2.字典元素的讀?。?)使用下標(biāo)的方法>>>a_dict={'Alice':95,'Beth':82,'Tom':65.5,'Emily':95}>>>a_dict['Tom']65.5>>>a_dict[95]Traceback(mostrecentcalllast):File"<pyshell#32>",line1,in<module>a_dict[95]KeyError:95(2)使用get方法獲取執(zhí)行鍵對于的值一般形式:dict.get(key,default=None)default是指指定的“鍵”值不存在時(shí),返回的值>>>a_dict.get('Alice')95>>>a_dict.get('a','address')'address'>>>a_dict.get('a')>>>print(a_dict.get('a'))Nonea_dict={'Alice':95,'Beth':82,'Tom':65.5,'Emily':95}3.字典元素的添加與修改(1)使用“字典名[鍵名]=鍵值”形式>>>a_dict['Beth']=79>>>a_dict{'Alice':95,'Beth':79,'Emily':95,'Tom':65.5}>>>a_dict['Eric']=98>>>a_dict{'Alice':95,'Eric':98,'Beth':79,'Emily':95,'Tom':65.5}a_dict={'Alice':95,'Beth':82,'Tom':65.5,'Emily':95}(2)使用update()方法>>>a_dict={'Alice':95,'Beth':79,'Emily':95,'Tom':65.5}>>>b_dict={'Eric':98,'Tom':82}>>>a_dict.update(b_dict)>>>a_dict{'Alice':95,'Beth':79,'Emily':95,'Tom':82,'Eric':98}4.字典元素的刪除(1)使用del命令刪除字典中指定“鍵”對應(yīng)的元素>>>dela_dict['Beth']>>>a_dict{'Alice':95,'Emily':95,'Tom':82,'Eric':98}>>>dela_dict[82]Traceback(mostrecentcalllast):File"<pyshell#56>",line1,in<module>dela_dict[82]KeyError:82a_dict={'Alice':95,'Beth':79,'Emily':95,'Tom':82,'Eric':98}(2)使用pop()方法刪除并返回指定“鍵”的元素>>>a_dict.pop('Alice')95>>>a_dict{Emily':95,'Tom':82,'Eric':98}a_dict={'Alice':95,'Emily':95,'Tom':82,'Eric':98}(3)使用popitem()方法,隨機(jī)元素>>>a_dict.popitem()('Emily',95)>>>a_dict{'Tom':82,'Eric':98}(4)使用clear()方法>>>a_dict.clear()>>>a_dict{}(5)使用del命令刪除整個(gè)字典>>>dela_dict>>>a_dictTraceback(mostrecentcalllast):File"<pyshell#68>",line1,in<module>a_dictNameError:name'a_dict'isnotdefined字典的遍歷一般形式:dict.keys()>>>a_dict.keys()dict_keys(['Tom','Emily','Beth','Alice'])a_dict={'Alice':95,'Emily':95,'Tom':82,'Eric':98}1.遍歷字典關(guān)鍵字一般形式:dict.values()>>>a_dict.values()dict_values([65.5,95,79,95])2.遍歷字典的值一般形式:dict.items()>>>a_dict.items()dict_it
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新能源汽車充電站風(fēng)險(xiǎn)評估
- 2024年度金融科技人力資源派遣與產(chǎn)品研發(fā)合同3篇
- 2024山東地區(qū)高新技術(shù)企業(yè)勞動合同規(guī)范文本3篇
- 2024年拆遷補(bǔ)償安置房交易合同
- 馬鞍山職業(yè)技術(shù)學(xué)院《汽車人機(jī)工程學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 呂梁學(xué)院《游戲美術(shù)設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年度服裝店鋪陳列設(shè)計(jì)與管理合同
- 2024年度高品質(zhì)擠塑板供應(yīng)與銷售協(xié)議范本版B版
- 漯河食品職業(yè)學(xué)院《建筑美術(shù)Ⅲ》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025寫字樓租賃合同簽訂有些學(xué)問
- 年產(chǎn)12萬噸甲烷氯化物可行性研究報(bào)告
- 腦積水的護(hù)理演示文稿
- 《中級微觀經(jīng)濟(jì)學(xué)》考試復(fù)習(xí)題庫(附答案)
- 方形真空干燥機(jī)驗(yàn)證方案
- 腫瘤基礎(chǔ)知識示范課件
- 肺炎鏈球菌介紹及肺炎鏈球菌肺炎介紹
- 私營企業(yè)員工年度績效評價(jià)表
- 醫(yī)院護(hù)理品管圈成果匯報(bào)縮短腦卒中靜脈溶栓患者DNT完整版本PPT易修改
- 防汛物資臺賬參考模板范本
- 氣道廓清技術(shù)及護(hù)理課件
- 體育與健康人教六年級全一冊籃球基礎(chǔ)知識(共15張PPT)
評論
0/150
提交評論