《Python程序設(shè)計(jì)與案例教程》課件chap6組合數(shù)據(jù)類型_第1頁
《Python程序設(shè)計(jì)與案例教程》課件chap6組合數(shù)據(jù)類型_第2頁
《Python程序設(shè)計(jì)與案例教程》課件chap6組合數(shù)據(jù)類型_第3頁
《Python程序設(shè)計(jì)與案例教程》課件chap6組合數(shù)據(jù)類型_第4頁
《Python程序設(shè)計(jì)與案例教程》課件chap6組合數(shù)據(jù)類型_第5頁
已閱讀5頁,還剩73頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第6章組合數(shù)據(jù)類型Python程序設(shè)計(jì)與案例教程6.1組合數(shù)據(jù)類型概述序列中的每一個(gè)元素都有自己的位置編號(hào),可以通過偏移量索引來讀取數(shù)據(jù)。1.序列類型讀取元素方法:序列名[索引]索引范圍:-n~n-1(包含n個(gè)元素的序列)6.1組合數(shù)據(jù)類型概述集合類型中的元素是無序的,無法通過下標(biāo)索引的方法訪問集合類型中的每一個(gè)數(shù)值集合中的元素不能重復(fù)集合中的元素類型只能是固定的數(shù)據(jù)類型2.集合類型映射類型是“鍵-值”對(duì)的集合元素之間是無序的,通過鍵可以找出該鍵對(duì)應(yīng)的值映射類型的典型代表是字典3.映射類型6.2列表是Python中內(nèi)置數(shù)據(jù)類型,是一個(gè)元素的有序集合一個(gè)列表中的數(shù)據(jù)類型可以各不相同列表中的每一個(gè)數(shù)據(jù)稱為元素其所有元素用逗號(hào)分割并放在一對(duì)中括號(hào)“[”和“]”中例如:[1,2,3,4,5]['Python','C','HTML','Java','Perl

']['wade',3.0,81,['bosh','haslem']]6.2.1列表的基本操作1.列表的創(chuàng)建使用賦值運(yùn)算符“=”將一個(gè)列表賦值給變量即可創(chuàng)建列表對(duì)象。>>>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)49411096>>>a_list=a_list+[5]>>>a_list['physics','chemistry',2017,2.5,[0.5,3],5]>>>id(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](1)使用index()方法可以獲取指定元素首次出現(xiàn)的下標(biāo)一般形式:index(value,[,start,[,end]])5.檢索元素>>>a_list.index(2017)1>>>a_list.index(2017,2)8>>>a_list.index(2017,5,7)Traceback(mostrecentcalllast):File"<pyshell#10>",line1,in<module>a_list.index(2017,5,7)ValueError:2017isnotinlista_list=['physics',2017,'chemistry',3.5,2.5,[0.5,3],5,'Python',2017,'C'](2)使用count()方法統(tǒng)計(jì)列表中指定元素出現(xiàn)的次數(shù)>>>a_list.count(2017)2>>>a_list.count([0.5,3])1>>>a_list.count(0.5)0(3)使用in運(yùn)算符檢索某個(gè)元素是否在該列表中>>>5ina_listTrue>>>0.5ina_listFalsea_list=['physics',2017,'chemistry',3.5,2.5,[0.5,3],5,'Python',2017,'C']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']6.2.2列表的常用函數(shù)1.cmp()格式:cmp(列表1,列表2)>>>cmp([1,2,5],[1,2,3])1>>>cmp([1,2,3],[1,2,3])0>>>cmp([123,'Bsaic'],[123,'Python'])-1在Python3.x中,不再支持cmp()函數(shù),可以直接使用關(guān)系運(yùn)算符來比較數(shù)值或列表。>>>[123,'Bsaic']>[123,'Python']False>>>[1,2,3]==[1,2,3]True2.len()格式:len(列表)>>>a_list=['physics','chemistry',2017,2.5,[0.5,3]]>>>len(a_list)5>>>len([1,2.0,'hello'])33.max()和min()格式:max(列表),min(列表)>>>a_list=['123','xyz','zara','abc']>>>max(a_list)'zara'>>>min(a_list)'123'4.sum()格式:sum(列表)>>>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'5.sorted()格式:sorted(列表)功能:對(duì)列表進(jìn)行排序,默認(rèn)是按照升序排序。該方法不會(huì)改變?cè)斜淼捻樞颉?gt;>>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()功能:對(duì)列表進(jìn)行排序,排序后的新列表會(huì)覆蓋原列表,默認(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()功能:對(duì)list列表中的元素進(jìn)行翻轉(zhuǎn)存放,不會(huì)對(duì)原列表進(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]方法功能list.append(obj)在列表末尾添加新的對(duì)象list.extend(seq)在列表末尾一次性追加另一個(gè)序列中的多個(gè)值list.insert(index,obj)將對(duì)象插入列表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è)元素,并返回該元素的值sort()對(duì)原列表進(jìn)行排序reverse()反向存放列表元素cmp(list1,list2)比較兩個(gè)列表的元素len(list)求列表元素個(gè)數(shù)max(list)返回列表元素的最大值min(list)返回列表元素的最小值list(seq)將元組轉(zhuǎn)換為列表sum(list)對(duì)數(shù)值型列表元素求和列表基本操作及常用函數(shù)6.2.3列表應(yīng)用舉例【例6.1】從鍵盤上輸入一批數(shù)據(jù),對(duì)這些數(shù)據(jù)進(jìn)行逆置,最后按照逆置后的結(jié)果輸出。分析:將輸入的數(shù)據(jù)存放在列表中,將列表的所有元素鏡像對(duì)調(diào),即第一個(gè)與最后一個(gè)對(duì)調(diào),第二個(gè)與倒數(shù)第二個(gè)對(duì)調(diào),……。b_list=input("請(qǐng)輸入數(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)【例6.2】編寫程序,求出1000以內(nèi)的所有完數(shù),并按下面的格式輸出其因子:

6itsfactorsare1,2,3。分析:一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為“完數(shù)”。例如6就是一個(gè)完數(shù),因?yàn)?的因子有1、2、3,且6=1+2+3。【例6.2】編寫程序,求出1000以內(nèi)的所有完數(shù)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í)所有元素放在一對(duì)圓括號(hào)“(”和“)”中。例如:

(1,2,3,4,5)('Python','C','HTML','Java','Perl')6.3元組6.3.1元組的基本操作1.元組的創(chuàng)建賦值運(yùn)算符“=”將一個(gè)元組賦值給變量即可創(chuàng)建元組對(duì)象。>>>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)行切片操作,方法與列表類似>>>a_tuple[1:3]('chemistry',2017)>>>a_tuple[::3]('physics',2.5)a_tuple=('physics','chemistry',2017,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):xnotintuplea_tuple=('physics','chemistry',2017,2.5)(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_tupleFalse5.刪除元組使用del語句刪除元組,刪除之后對(duì)象就不存在了,再次訪問會(huì)出錯(cuò)。>>>dela_tuple>>>a_tupleTraceback(mostrecentcalllast):File"<pyshell#30>",line1,in<module>a_tupleNameError:name'a_tuple'isnotdefined6.3.2列表與元組的區(qū)別及轉(zhuǎn)換1.列表與元組的區(qū)別(1)元組的處理速度和訪問速度比列表快。如果定義了一系列常量值,主要對(duì)其進(jìn)行遍歷或者類似用途,而不需要對(duì)其元素進(jìn)行修改,這種情況一般使用元組??梢哉J(rèn)為元組對(duì)不需要修改的數(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'>6.3.3元組應(yīng)用利用元組來一次性給多個(gè)變量賦值。>>>v=('Python',2,True)>>>(x,y,z)=v>>>x'Python'>>>y2>>>zTruePython中的字符串用一對(duì)單引號(hào)(')或雙引號(hào)(")括起來。例如:>>>'Python' 'Python'>>>"PythonProgram"'PythonProgram'6.4字符串6.4.1三重引號(hào)字符串>>>'''Pythonisan"object-oriented"open-sourceprogramminglanguage''''Pythonisan"object-oriented"\nopen-sourceprogramminglanguage'6.4.2字符串基本操作1.字符串創(chuàng)建使用賦值運(yùn)算符“=”將一個(gè)字符串賦值給變量>>>str1="Hello">>>str1"Hello">>>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è)字符串對(duì)象連接起來>>>"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ù)連接而成的字符串對(duì)象。>>>"Hello"*3'HelloHelloHello'>>>3*"HelloWorld!"'HelloWorld!HelloWorld!HelloWorld!'6.關(guān)系運(yùn)算(1)單字符字符串的比較單個(gè)字符字符串的比較是按照字符的ASCII碼值大小進(jìn)行比較。>>>"a"=="a"True>>>"a"=="A"False>>>"0">"1"False(2)多個(gè)字符字符串的比較>>>"abc"<"abd“True>>>"abc">"abcd“False>>>"abc"<"cde“True>>>""<"0"True注意:空字符串("")比其他字符串都小,因?yàn)樗拈L度為0。6.關(guān)系運(yùn)算7.成員運(yùn)算字符串使用in或notin運(yùn)算符判斷一個(gè)字符串是否屬于另一個(gè)字符串。字符串1[not]in字符串2>>>"ab"in"aabb"True>>>"abc"in"aabbcc"False>>>"a"notin"abc"False6.4.3字符串的常用方法1.子串查找:find()方法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.'3.字符串分離

str.split([sep])>>>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)>>>s4=["beijing","xi'an","tianjin","chongqing"]>>>sep="-->">>>str=sep.join(s4)>>>str"beijing-->xi'an-->tianjin-->chongqing">>>s5=("Hello","World")>>>sep="">>>sep.join(s5)'HelloWorld'6.4.4字符串應(yīng)用舉例【例】從鍵盤輸入5個(gè)英文單詞,輸出其中以元音字母開頭的單詞。str="AEIOUaeiou"a_list=[]foriinrange(0,5):word=input("請(qǐng)輸入一個(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【例】輸入一段字符,統(tǒng)計(jì)其中單詞的個(gè)數(shù),單詞之間用空格分隔。str=input("請(qǐng)輸入一串字符:")flag=0count=0

forcinstr:ifc=="":flag=0else:ifflag==0:flag=1count=count+1print("共有%d個(gè)單詞"%count)【例】輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)。分析:首先輸入一個(gè)字符串,根據(jù)字符串中每個(gè)字符的ASCII碼值判斷其類型。數(shù)字0~9對(duì)應(yīng)的碼值為48~57,大寫字母A~Z對(duì)應(yīng)65~90,小寫字母a~z對(duì)應(yīng)97~122。使用ord()函數(shù)將字符轉(zhuǎn)換為ASCII碼表上對(duì)應(yīng)的數(shù)值。可以采用先找出各類型的字符,放到不同列表中,再分別計(jì)算列表的長度。a_list=list(input('請(qǐng)輸入一行字符:'))letter=[]space=[]number=[]other=[]

foriinrange(len(a_list)):iford(a_list[i])inrange(65,91)orord(a_list[i])inrange(97,123):letter.append(a_list[i])elifa_list[i]=='':space.append('')eliford(a_list[i])inrange(48,58):number.append(a_list[i])else:other.append(a_list[i])print('英文字母?jìng)€(gè)數(shù):%s'%len(letter))print('空格個(gè)數(shù):%s'%len(apace))print('數(shù)字個(gè)數(shù):%s'%len(number))print('其它字符個(gè)數(shù):%s'%len(other))程序運(yùn)行結(jié)果:請(qǐng)輸入一行字符:Python3.5.2中文版英文字母?jìng)€(gè)數(shù):6空格個(gè)數(shù):1數(shù)字個(gè)數(shù):3其它字符個(gè)數(shù):56.5集合

集合(set)是一組對(duì)象的集合,是一個(gè)無序排列的、不重復(fù)的數(shù)據(jù)集合體。

用一對(duì)“{}”進(jìn)行界定s={0,1,2,3,4}6.5.1集合常用操作1.集合的創(chuàng)建(1)使用“=”將一個(gè)集合賦給一個(gè)變量>>>a_set={0,1,2,3,4,5,6,7,8,9}>>>a_set{0,1,2,3,4,5,6,7,8,9}>>>b_set={1,3,3,5}//重復(fù)元素>>>b_set{1,3,5}(2)使用集合對(duì)象的set()方法創(chuàng)建集合>>>b_set=set(['physics','chemistry',2017,2.5])>>>b_set{2017,2.5,'chemistry','physics'}>>>c_set=set(('Python','C','HTML','Java','Perl'))>>>c_set{'Java','HTML','C','Python','Perl'}>>>d_set=set('Python')>>>d_set{'y','o','t','h','n','P'}(3)使用frozenset()方法創(chuàng)建一個(gè)凍結(jié)的集合>>>e_set=frozenset('a')>>>a_dict={e_set:1,'b':2}>>>a_dict{frozenset({'a'}):1,'b':2}>>>f_set=set('a')>>>b_dict={f_set:1,'b':2}Traceback(mostrecentcalllast):File"<pyshell#9>",line1,in<module>b_dict={f_set:1,'b':2}TypeError:unhashabletype:'set'2.訪問集合>>>b_set=set(['physics','chemistry',2017,2.5])>>>b_set{'chemistry',2017,2.5,'physics'}>>>2.5inb_setTrue>>>3inb_setFalse>>>foriinb_set:print(i,end='')chemistry20172.5physics使用in或者循環(huán)遍歷訪問元素3.刪除集合>>>a_set={0,1,2,3,4,5,6,7,8,9}>>>a_set{0,1,2,3,4,5,6,7,8,9}>>>dela_set>>>a_setTraceback(mostrecentcalllast):File"<pyshell#66>",line1,in<module>a_setNameError:name'a_set'isnotdefined使用del命令4.更新集合>>>b_set.add('math')>>>b_set{'chemistry',2017,2.5,'math','physics'}(1)使用add()方法:s.add(x)b_set={'chemistry',2017,2.5,'physics'}>>>s={'Phthon','C','C++'}>>>s.update({1,2,3},{'Wade','Nash'},{0,1,2})>>>s{0,1,2,3,'Phthon','Wade','C++','Nash','C'}(2)使用update()方法:s.update(s1,s2,…,sn)5.刪除集合中的元素>>>s={0,1,2,3,'Phthon','Wade','C++','Nash','C'}>>>s.remove(0)>>>s{1,2,3,'Phthon','Wade','C++','Nash','C'}>>>s.remove('Hello')Traceback(mostrecentcalllast):File"<pyshell#45>",line1,in<module>s.remove('Hello')KeyError:'Hello'(1)使用remove()方法:s.remove(x)>>>s.discard('C')>>>s{1,2,3,'Phthon','Wade','C++','Nash'}>>>s.discard('abc')>>>s{1,2,3,'Phthon','Wade','C++','Nash'}(2)使用discard()方法:s.

discard(x)s={1,2,3,'Phthon','Wade','C++','Nash','C'}>>>s.pop()1>>>s{2,3,'Phthon','Wade','C++','Nash'}(3)使用pop()方法刪除任意一個(gè)元素s={1,2,3,'Phthon','Wade','C++','Nash','C'}>>>s.clear()>>>sset()(4)使用clear()方法刪除集合中所有元素6.5.2集合常用運(yùn)算1.交集方法:s1&s2&…&sn>>>{0,1,2,3,4,5,7,8,9}&{0,2,4,6,8}{8,0,2,4}>>>{0,1,2,3,4,5,7,8,9}&{0,2,4,6,8}&{1,3,5,7,9}set()2.并集>>>{0,1,2,3,4,5,7,8,9}|{0,2,4,6,8}{0,1,2,3,4,5,6,7,8,9}>>>{0,1,2,3,4,5}|{0,2,4,6,8}{0,1,2,3,4,5,6,8}方法:

s1|s2|…|sn3.差集>>>{0,1,2,3,4,5,6,7,8,9}-{0,2,4,6,8}{1,3,5,9,7}>>>{0,1,2,3,4,5,6,7,8,9}-{0,2,4,6,8}-{2,3,4}{1,5,9,7}方法:

s1-s2-…-sn4.對(duì)稱差集>>>{0,1,2,3,4,5,6,7,8,9}^{0,2,4,6,8}{1,3,5,7,9}>>>{0,1,2,3,4,5,6,7,8,9}^{0,2,4,6,8}^{1,3,5,7,9}set()方法:

s1^s2^…^sn5.集合的比較

==、!=、<、<=、>、>=6.6字典通過任意鍵信息查找一組數(shù)據(jù)中值信息的過程叫映射,Python語言中通過字典實(shí)現(xiàn)映射。Python語言中的字典可以通過大括號(hào)({})建立,建立模式如下:{<鍵1>:<值1>,<鍵2>:<值2>,…,<鍵n>:<值n>}其中,鍵和值通過冒號(hào)連接,不同鍵值對(duì)通過逗號(hào)隔開。6.6.1字典常用操作

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í)行鍵對(duì)于的值一般形式: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)使用“字典名[鍵

溫馨提示

  • 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)論