




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第6章復(fù)合數(shù)據(jù)類型第6章復(fù)合數(shù)據(jù)類型6.1序列的通用操作6.2列表6.3元組6.4集合6.5字典復(fù)合數(shù)據(jù)類型序列類型字符串列表元組集合類型集合映射類型字典序列類型是一個(gè)元素向量,元素之間存在先后關(guān)系,通過序列中的索引(位置編號)來訪問數(shù)據(jù)元素,元素之間不排他可重復(fù)。映射類型是“鍵-值”數(shù)據(jù)項(xiàng)的組合,每個(gè)元素是一個(gè)鍵值對,表示為(key,value)。集合類型是一個(gè)元素集合,元素之間無序、不重復(fù)。復(fù)合數(shù)據(jù)類型概述6.1序列的通用操作序列類型包括字符串(str)、列表(list)和元組(tuple)。a=“Monkey“#字符串b==['Alice','Ben','Candy','Mary','Lucy’]#列表c=(=(“Rat”,“OX”,“Tiger”,“Rabbit”,“Dragon”,“Snake”)#元組序列類型都可以進(jìn)行索引、切片、序列相加、序列相乘以及成員資格檢查等操作。Python還有計(jì)算序列長度、找出最大元素和最小元素等內(nèi)置函數(shù)。6.1.1序列的索引序列名[索引]有兩種索引方式:正向索引和反向索引例如:>>>str1="thisisastring">>>Lst1=["2022100123","張三","男",18]>>>tup1=("物理","化學(xué)","地理","生物","歷史")>>>print(str1[0],Lst1[-1],tup1[3])t18生物6.1.2序列的切片切片就是取出序列中某個(gè)范圍內(nèi)的元素,得到一個(gè)新的序列,原序列不變。一般格式為:序列名[M:N:K]>>>Lst2=[1,2,3,4,5,6,7,8,9]>>>Lst2[1:4]#步長缺省為1,索引[1,4)結(jié)果:[2,3,4]>>>Lst2[:]#同lst2[::],步長缺省為1,取出從前往后所有元素[1,2,3,4,5,6,7,8,9]>>>Lst2[::-1]#步長為-1,取出從后往前所有元素[9,8,7,6,5,4,3,2,1]>>>Lst2[:-2:2]#步長為2,M缺省為0,取出從[0,-2)步長為2的元素[1,3,5,7]>>>Lst2[3::2]#步長為2,取出從3到末尾的步長為2的元素[4,6,8]>>>lst2[-1::-2]#步長為-2,N為第一個(gè)元素,取出從-1到0步長為-2的元素[9,7,5,3,1]6.1.3序列的計(jì)算1.序列相加使用加號+可以進(jìn)行同類型序列的連接操作。例如:>>>[1,2,3]+['a','b','c']#列表相加[1,2,3,'a','b','c']>>>(4,5,6)+(7,8,9)#元組相加(4,5,6,7,8,9)>>>"abc"+"123"#字符串相加'abc123'6.1.3序列的計(jì)算2.序列相乘用整數(shù)n乘以序列會產(chǎn)生一個(gè)新的序列,在新序列中,原序列將重復(fù)n次。當(dāng)n<1,將返回空序列。例如:>>>a=(1,2,3)>>>2*a(1,2,3,1,2,3)>>>-1*a()6.1.3序列的計(jì)算3.成員資格檢查成員資格檢查用于檢查一個(gè)值是否在序列中,有in和notin兩個(gè)運(yùn)算符,返回True或False。例如:>>>tup1=("物理","化學(xué)","地理","生物","歷史")>>>"音樂"intup1False>>>"音樂"notintup1True6.1.4序列處理函數(shù)1.len()、max()、min()函數(shù)len(s):返回序列s的元素個(gè)數(shù)min(s):返回序列s的最小元素max(s):返回序列s的最大元素以下Python表達(dá)式中,哪項(xiàng)的值與其它三項(xiàng)不同(
)。A.len("Nicetomeetyou".split()) B.len("Nice".split())C.sum([1,2,1,0])
D.max([1,2,3,4])2.index方法和count方法s.index(x[,i[,j]]):返回序列s中索引為第i到第j-1項(xiàng)元素中第一次出現(xiàn)元素x的位置。s.count(x):返回序列s中出現(xiàn)x的次數(shù)。6.2列表列表(list)是Python中最常用的復(fù)合數(shù)據(jù)類型,可以完成大多數(shù)復(fù)合數(shù)據(jù)結(jié)構(gòu)的操作。列表元素是可變的,也就是列表中的元素的值可修改,也可以增加元素或刪除元素。字符串和元組的元素是不可變的。所以除了序列的通用操作外,列表還有許多專有的操作6.2.1列表的創(chuàng)建1.用[]創(chuàng)建列表列表是用方括號“[]”括起來、用逗號分隔的元素序列>>>elist=[]#創(chuàng)建空列表>>>names=['Alice','Ben','Candy','Mary','Lucy']>>>stud=["2022100212","張三",18,[88,77,89]]>>>print("{}的三門課的成績是{},{},{}".format(stud[1],stud[3][0],stud[3][1],stud[3][2]))張三的三門課的成績是88,77,89>>>names[::2]#通過切片訪問列表中的元素['Alice','Candy','Lucy']6.2.1列表的創(chuàng)建2.用list()函數(shù)創(chuàng)建列表列表也可以用list()函數(shù)將range()對象、元組、字符串或其他可迭代類型的數(shù)據(jù)轉(zhuǎn)換為列表。>>>numlist=list(range(1,6))#創(chuàng)建一個(gè)包含1到5的整數(shù)列表>>>numlist[1,2,3,4,5]>>>strlist=list("hello")#將字符串轉(zhuǎn)為列表>>>strlst['h','e','l','l','o']>>>tlist=list((1,2,3,4))#將元組(1,2,3,4)轉(zhuǎn)為列表>>>tlist[1,2,3,4] >>>elist2=list()#創(chuàng)建空列表>>>elist2[]列表的注意事項(xiàng):列表必須通過顯示的數(shù)據(jù)賦值才能生成,簡單將一個(gè)列表變量賦值給另一個(gè)列表變量不會生成新的列表通過切片操作可以生成新的列表,不會改變原來的列表>>>lst1=[70,80,90]>>>lst2=lst1
>>>id(lst1),id(lst2)(50784384,50784384)>>>lst2[0]=72>>>lst1[72,80,90]>>>x=[1,2,3,4,5,6]>>>y=x[:]>>>y[1,2,3,4,5,6]>>>id(x),id(y)(51019904,51370112)6.2.2列表的專有操作1.列表元素的添加ls.append(x)方法:在列表末尾追加元素ls.insert(i,x)方法:在列表第i個(gè)位置增加新元素xls.extend(lst)方法:將列表lst元素追加到列表ls尾部“+=”運(yùn)算符:
ls+=lst將列表lst元素追加到列表ls尾部“*=”運(yùn)算符:ls*=n更新列表ls,其元素重復(fù)n次append、insert、extend、+=、*=這些操作在添加了新元素后,內(nèi)存地址沒有發(fā)生變化,屬于原地操作,不會創(chuàng)建新的列表對象>>>names=['Alice','Ben']>>>id(names)51371264>>>names.append("Yoyo")#['Alice','Ben','Yoyo']>>>names.insert(2,"Lily")
#['Alice','Ben','Lily','Yoyo']>>>n=["張三","李四"]>>>names.extend(n)#['Alice','Ben','Lily','Yoyo','張三','李四’]>>>n1=["王五"]>>>names+=n1#與names=names+n1不等價(jià)#['Alice','Ben','Lily','Yoyo','張三','李四','王五’]>>>names*=2#結(jié)果為:[‘Alice’,‘Ben’,‘Lily’,‘Yoyo’,‘張三’,‘李四’,‘王五’,'Alice','Ben','Lily','Yoyo','張三','李四','王五’]>>>id(names)51371264下列Python程序的運(yùn)行結(jié)果是(
)。s=[1,2,3,'a']s.append([4,5])print(len(s))A.2
B.4
C.5
D.66.2.2列表的專有操作2.列表元素的刪除del語句dells:刪除列表ls對象dells[i]:刪除列表ls第i項(xiàng)的元素dells[i:j:k]:刪除列表ls第i到第j-1項(xiàng)以k為步長的元素ls.pop(i)方法:返回列表ls第i項(xiàng)元素并刪除該元素,缺省i刪最后一個(gè)ls.remove(x)方法:將列表中第一個(gè)出現(xiàn)的元素x刪除ls.clear()方法:
刪除列表ls中的所有元素,把ls變?yōu)榭樟斜?.2.2列表的專有操作>>>names=['Alice','Ben','Candy','Mary','Lucy']>>>delnames[0]>>>names['Ben','Candy','Mary','Lucy']>>>delnames[2:]>>>names['Ben','Candy']>>>delnames>>>names=['Alice','Ben','Candy','Mary','Lucy']>>>names.pop()'Lucy'>>>names.pop(0)'Alice'>>>names['Ben','Candy','Mary’]>>>names=['Alice','Ben','Candy','Ben','Lucy']>>>names.remove('Ben')>>>names['Alice','Candy','Ben','Lucy’]>>>names=['Alice','Ben','Candy','Mary','Lucy']>>>names.clear()>>>names[]以下代碼的輸出結(jié)果是(
)。list1=[1,2,3,4]list2=list1list2.clear()print(list1)A.[1,2,3,4]
B.1,2,3,4
C.[]
D.錯誤6.2.2列表的專有操作3.列表元素的修改可以通過索引或切片直接修改列表元素的值。ls[i]=xls[i:j:k]=lst當(dāng)使用切片賦值將一個(gè)列表賦給另一個(gè)列表時(shí),Python不要求兩個(gè)列表長度一樣,但遵循“多增少減”的原則??梢酝ㄟ^賦給更多或更少元素實(shí)現(xiàn)列表元素的插入或刪除6.2.2列表的專有操作>>>a=[1,2,3,4,5]>>>a[2::]=[7,8,9,10]#把下標(biāo)從2到所有的元素改為[7,8,9,10]>>>a[1,2,7,8,9,10]>>>a[0:2]=[6]#把下標(biāo)為0和1的元素改[6]>>>a[6,7,8,9,10]6.2.2列表的專有操作4.對列表進(jìn)行排序和逆置ls.sort(key=None,reverse=False):reverse=True表示降序排列,reverse參數(shù)缺省,或reverse=False表示升序排列。key參數(shù)用于指定一個(gè)函數(shù),此函數(shù)將在每個(gè)元素比較前被調(diào)用。ls.reverse():
反轉(zhuǎn)逆置列表ls中的元素。內(nèi)置函數(shù)sorted(ls[,reverse=False]):將列表ls默認(rèn)升序排列后生成的新列表返回,原列表ls的值不變。若reverse=True,表示降序。6.2.2列表的專有操作>>>s=[23,21,45,67,12,9]>>>s.reverse()>>>s[9,12,67,45,21,23]>>>s.sort()>>>s[9,12,21,23,45,67]>>>s.sort(reverse=True)>>>s[67,45,23,21,12,9]內(nèi)置函數(shù)sorted(ls[,reverse=False])的舉例如下:>>>s=[23,21,45,67,12,9]>>>t=sorted(s)>>>s[23,21,45,67,12,9]>>>t[9,12,21,23,45,67]字符串str="catdogtiger",以下程序的輸出結(jié)果是:(
)。str="catdogtiger"ls=str.split()ls.reverse()print(ls)A.'tiger','dog','cat’B.tigerdogcatC.NoneD.['tiger','dog','cat']6.2.3遍歷列表1.用for循環(huán)語句遍歷列表格式:for變量名in列表名:語句塊【例
6?1】用for循環(huán)遍歷列表,將列表中的每個(gè)元素星期幾的英文全稱改為縮寫,輸出時(shí)用空格隔開。week_list=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]i=0foriteminweek_list:week_list[i]=item[0:3]i=i+1foriteminweek_list:print(item,end="")6.2.3遍歷列表2.用while循環(huán)語句遍歷列表用while循環(huán)語句遍歷列表時(shí),需要先計(jì)算列表的長度,將獲得的長度作為循環(huán)的條件,用索引訪問列表元素?!纠?/p>
6?2】用列表的方法輸出斐波那契數(shù)列:1,1,2,3,5,8…前10項(xiàng),并計(jì)算這10項(xiàng)的和。lst=[1,1]i=2whilei<=10:lst.append(lst[i-1]+lst[i-2])i=i+1print(lst)i=0s=0whilei<len(lst):s+=lst[i]i=i+1print(s)lst=[1,1]i=2whilei<=10:lst.append(lst[i-1]+lst[i-2])i=i+1print(lst)print(sum(lst))6.2.4列表推導(dǎo)式列表推導(dǎo)式可以利用range對象、元組、列表、字典和集合等數(shù)據(jù)類型,快速生成一個(gè)滿足條件的列表。語法格式如下:[表達(dá)式for迭代變量in迭代對象
[if條件表達(dá)式]]其中[if條件表達(dá)式]可缺省。將每個(gè)符合if條件的迭代變量計(jì)算一次表達(dá)式的值,這些值就是新生成的列表中的每個(gè)元素。1.不加if條件的列表推導(dǎo)式創(chuàng)建一個(gè)1到10的整數(shù)列表,代碼如下:>>>a=[x+1forxinrange(10)]>>>a[1,2,3,4,5,6,7,8,9,10]>>>importrandom>>>b=[random.randint(0,100)foriinrange(10)]>>>b[76,17,98,10,56,22,43,2,66,86]2.加if條件的列表推導(dǎo)式創(chuàng)建一個(gè)1到20間奇數(shù)的平方的列表,代碼如下:>>>b=[x*xforxinrange(1,21)ifx%2==1]>>>b[1,9,25,49,81,121,169,225,289,361]3.多重循環(huán)的列表推導(dǎo)式上面的列表推導(dǎo)式都只包含一個(gè)循環(huán),實(shí)際上可以使用多重循環(huán),舉例如下:>>>c=[[x,y]forxinrange(3)foryinrange(3)]>>>c[[0,0],[0,1],[0,2],[1,0],[1,1],[1,2],[2,0],[2,1],[2,2]]【例63】用隨機(jī)函數(shù)生成n個(gè)0-100的隨機(jī)整數(shù),降序排列輸出。分析:用列表推導(dǎo)式生成由n個(gè)隨機(jī)數(shù)組成的列表,然后用列表的方法sort對數(shù)據(jù)進(jìn)行排序。代碼如下:importrandomrandom.seed()n=eval(input("輸入要生成多少個(gè)隨機(jī)數(shù):"))alist=[random.randint(0,100)foriinrange(n)]print("排序前:",alist)alist.sort(reverse=True)print("排序后:",alist)6.3元組Python中元組是序列類型中比較特殊的類型,因?yàn)樗坏﹦?chuàng)建就不能被修改。元組類型在表達(dá)固定數(shù)據(jù)項(xiàng)、函數(shù)多返回值、多變量同步賦值、循環(huán)遍歷等情況下十分有用。6.3.1元組的基本操作1.創(chuàng)建元組創(chuàng)建元組用使用圓括號“()”,所有元素放在一對圓括號“()”中,并用逗號“,”分隔;也可用tuple()函數(shù)將range()對象、列表、字符串或其他可迭代類型的數(shù)據(jù)轉(zhuǎn)為元組。>>>tup0=()#空元組>>>tup1=("Rat","OX")#用圓括號創(chuàng)建元組>>>tup2="Horse","Sheep"#圓括號可省略>>>tup3=(1,2,3,"a","b","c")#元組中包含不同類型的數(shù)據(jù)>>>tup4=(100,)#只有一個(gè)元素時(shí),逗號不能省略>>>tup5=tuple(range(5))>>>list1=[70,80,90,99]>>>tup6=tuple(list1)>>>tup7=tuple("hello")6.3.1元組的基本操作2.訪問元組可以使用下標(biāo)索引和切片來訪問或獲取指定的元素,但只能訪問不能修改元素的值>>>tup6=(70,80,90,99)>>>print(tup6[0],tup6[-1],tup6[1:3])7099(80,90)>>>tup6[3]=100Traceback(mostrecentcalllast):File"<pyshell#6>",line1,in<module>tup6[3]=100TypeError:'tuple'objectdoesnotsupportitemassignment下面代碼的輸出結(jié)果是(
)。t1=('a','b','c',['a','b','c'])t1[-1][-1]='d'print(t1)A.('a','b','c',’d’)B.('a','b','c',['a','b','d’])
C.('a','b','c',['a','b','c'],'d')D.異常6.3.1元組的基本操作3.元組的常用內(nèi)置函數(shù)和操作符元組可以使用所有適用于序列的通用操作符和函數(shù),元組的常用內(nèi)置函數(shù)有l(wèi)en()、max()、min()等,通用操作符+、*、in、notin同6.1.3節(jié)4.刪除元組元組是不可變序列,無法刪除元組中的元素,只能使用del命令刪除整個(gè)元組對象【例67】獲取用戶輸入的一組數(shù)據(jù),采用逗號分隔輸入,輸出其中的最大值。data=eval(input("請輸入一組數(shù)據(jù),以逗號分隔:"))m=data[0]foriindata:ifi>m:m=iprint("最大值是:",m)data=eval(input("請輸入一組數(shù)據(jù),以逗號分隔:"))print("最大值是:",max(data))6.3.2元組與列表的轉(zhuǎn)換元組和列表可以通過list()函數(shù)和tuple()函數(shù)實(shí)現(xiàn)相互轉(zhuǎn)換。如果想要修改其元素值,可以將元組轉(zhuǎn)換為列表,修改完畢后,再轉(zhuǎn)換為元組。>>>tup=(1,2,3,4)>>>lst=list(tup)>>>lst.append(5)>>>lst[1,2,3,4,5]>>>tup=tuple(lst)>>>tup(1,2,3,4,5)6.4集合集合是包含0個(gè)或多個(gè)數(shù)據(jù)元素的無序組合。集合中的元素不可重復(fù),元素類型只能是整數(shù)、浮點(diǎn)數(shù)、字符串、元組等不可變數(shù)據(jù)類型,且這些數(shù)據(jù)元素是無序的,沒有索引位置的概念,不能切片。Python中的集合類型與數(shù)學(xué)中集合的概念一致,可對其進(jìn)行交、并、差等集合運(yùn)算6.4.1集合的創(chuàng)建1.使用花括號{}將多個(gè)用逗號隔開的數(shù)據(jù)括起來2.使用set()函數(shù),它將range()對象、列表、字符串或其他可迭代類型的數(shù)據(jù)轉(zhuǎn)換為集合,但會將重復(fù)的元素刪掉>>>s1={1,2,3,4,5}>>>s2=set("happy")>>>s3=set([1,2,3,5,2])>>>s4=set()#空集合,注意不是{},{}表示空字典。>>>s1,s2,s3,s4({1,2,3,4,5},{'p','a','y','h'},{1,2,3,5},set())設(shè)a=set([1,2,2,3,3,3,4,4,4,4]),則a.remove(4)的值是()。A.{1,2,3}B.{1,2,2,3,3,3,4,4,4}C.{1,2,2,3,3,3}D.[1,2,2,3,3,3,4,4,4]以下不能創(chuàng)建集合的語句是()。A.s1={}B.s2=set()C.s3=set(“abcd”)D.s4={1,2,3,4}6.4.2集合運(yùn)算有4種基本操作:交集(&)、并集(|)、差集(-)、補(bǔ)集(^)運(yùn)算符功能描述S&T或S.intersection(T)交集:返回一個(gè)新集合,包含同時(shí)在集合S和T中的元素。S|T或S.union(T)并集:返回一個(gè)新集合,包含集合S和T中的所有元素S-T或S.difference(T)差集:返回一個(gè)新集合,包含在集合S中但不在集合T中的元素S^T或S.symmetric_difference_update(T)補(bǔ)集:返回一個(gè)新集合,包含集合S和T中的元素,但不包含同時(shí)在這兩集合中的元素S<=T或S.issubset(T)子集測試:若S與T相同或S是T的子集,返回True,否則返回False。S<T表示S是否是T的真子集S>=T或S.issuperset(T)超集測試:若S與T相同或S是T的超集,返回True,否則返回False。S>T表示S是否是T的真超集set1=set("字典"),set2=set("集合"),set1|set2的結(jié)果可能是()。
A.{"字典集合"}B.{"典","字","集","合"}C."字典集合"D.["字典集合"]6.4.3集合的常用方法
方法或函數(shù)功能描述S.add(x)添加元素:若數(shù)據(jù)元素x不在集合S中,將x添加到S中S.clear()清空元素:移除集合S中的所有元素S.copy()復(fù)制集合:返回集合S的一個(gè)副本S.pop()隨機(jī)刪除元素:隨機(jī)返回并移除一個(gè)元素,S為空時(shí)產(chǎn)生KeyError異常S.discard(x)刪除指定元素:若x在集合S中,移除該元素;x不存在時(shí),不報(bào)異常S.remove(x)刪除指定元素:若x在集合S中,移除該元素;x不存在時(shí),產(chǎn)生KeyError異常S.isdisjoint(T)若集合S和T沒有相同元素,返回True,否則返回Falselen(S)返回集合S的元素個(gè)數(shù)xinS若x是S的元素,返回True,否則返回FalsexnotinS若x不是S的元素,返回True,否則返回False【例6-8】生成10個(gè)互不相同的[0,100]的隨機(jī)整數(shù)。分析:由于集合是一個(gè)無序的、不重復(fù)的數(shù)據(jù)集,所以本例題采用集合實(shí)現(xiàn)。代碼如下:importrandoms=set()i=0whilei<10:x=random.randint(0,100)s.add(x)i=len(s)print('s=',s)6.5字典字典(dict)是用花括號{}括起來的、用逗號分隔的元素集合,其元素是由關(guān)鍵字和值組成,形式為:“關(guān)鍵字:值”a={"姓名":"張三","性別":"男","年齡":18,"班級":"23計(jì)科1班"}字典保存映射關(guān)系,保存了兩組數(shù)據(jù),一組數(shù)據(jù)是關(guān)鍵字即鍵,另一組數(shù)據(jù)是值,可通過鍵來訪問值。字典中的元素是無序的、可變的。當(dāng)添加鍵值對時(shí),Python會自動修改字典的排列順序,以提高搜索效率,且這種排列方式對用戶是隱藏的。6.5.1字典的基本操作1.創(chuàng)建字典一般格式為:字典名={[關(guān)鍵字1:值1[,關(guān)鍵字2:值2,……,關(guān)鍵字n:值n]]}關(guān)鍵字可以是數(shù)字、字符串及元組等不可變類型,不允許重復(fù),而值可以重復(fù)。>>>dict1={}#空字典>>>dict2={"姓名":"張三","性別":"男","年齡":18,"班級":"23計(jì)科1班"}用內(nèi)置函數(shù)dict()創(chuàng)建字典>>>dict3=dict(姓名="張三",性別="男",年齡=18,班級="23計(jì)科1班")>>>dict4=dict([("姓名","張三"),("性別","男"),("年齡",18),("班級","23計(jì)科1班")])>>>dict5=dict((("姓名","張三"),("性別","男"),("年齡",18),("班級","23計(jì)科1班")))以下不能創(chuàng)建字典的語句是()。A.dict1={}B.dict2={2:4}C.dict3=dict([2,4],[6,8])D.dict4=dict(([2,4],[6,8]))dict([['a',1],['b',2]])的返回值是()。A.{'a':1,'b':2}B.[{'a':1,'b':2}]C.{1,2}D.['a','b']6.5.1字典的基本操作2.字典的訪問通過關(guān)鍵字來訪問字典的元素,一般格式為:字典名[關(guān)鍵字]若關(guān)鍵字不存在,會引發(fā)一個(gè)KeyError錯誤給出如下代碼:DictColor={"red":"紅色","blue":"藍(lán)色","pink":"粉紅色","brown":"棕色","purple":"紫色","whilte":"白色"}
以下選項(xiàng)中能輸出"藍(lán)色"的是()。A.print(DictColor.keys())B.print(DictColor["藍(lán)色"])C.print(DictColor.values())D.print(DictColor["blue"])6.5.1字典的基本操作3.添加、修改字典元素字典是鍵值對的集合,字典是可變的,可通過已有的關(guān)鍵字,修改其映射的值,也可往字典中添加新的鍵值對。添加與修改字典元素的一般格式為:字典名[關(guān)鍵字]=值>>>dict1={'name':"Jim",'age':18}>>>dict1[‘a(chǎn)ge’]=19#存在age,就修改值>>>dict1[‘scores’]=[70,80,90]#添加鍵值對>>>dict1{'name':'Jim','age':19,'scores':[70,80,90]}6.5.1字典的基本操作4.刪除字典元素當(dāng)不再需要字典中的某個(gè)元素時(shí),可以使用del命令將其刪除。格式如下:
del字典名[關(guān)鍵字]刪除整個(gè)字典:
del字典名>>>scores={"語文":80,"數(shù)學(xué)":77,"英語":90}>>>delscores["英語"]>>>scores{'語文':80,'數(shù)學(xué)':77}6.5.1字典的基本操作5.檢查字典關(guān)鍵字是否存在通過in|notin運(yùn)算符判斷關(guān)鍵字是否存在于字典中。格式如下:關(guān)鍵字in字典關(guān)鍵字notin字典返回值為True或False。6.字典的長度和運(yùn)算len()函數(shù)可以獲取字典所包含的鍵值對的數(shù)目,即字典長度。max()、min()、sum()、sort()等函數(shù)也可用于字典,但是對字典的關(guān)鍵字進(jìn)行運(yùn)算。字典d={'Name':'Lisa','Sex':'Female','Age':'18'},表達(dá)式len(d)的值為()。6.5.2字典的常用方法1.keys()、values()和items()方法這三個(gè)方法返回由字典鍵、值和鍵值對組成的新視圖對象。什么是視圖對象?視圖對象提供字典條目的一個(gè)動態(tài)視圖,意味著當(dāng)字典改變時(shí),視圖也會相應(yīng)的改變。>>>dc={"name":"Jim","age":18}>>>keys=dc.keys()>>>values=dc.values()>>>items=dc.items()>>>print(values)dict_values(['Jim',18])>>>dc['name']='JimGreen'>>>print(values)dict_values(['JimGreen',18])字典的遍歷d={"Wu":"China","Liu":"America","Nan":"Korea"}forkind:#與forkind.keys():等價(jià)print(k,end="")print(d[k],end="")foraind.values():print(a)forcind.items():print(c)forcind.items():print(c[0],c[1])對于字典D={'a':10,'b':20,'c':30,'d':40},sum(list(D.values()))的值是()。
A.10B.100C.40以下程序的輸出結(jié)果是:()。dict={'Name':'Lisa','Age':18}print(dict.items())A.[('Age',18),('Name','Lisa')]B.('Age',18),('Name','Lisa')C.'Age':18,'Name':'Lisa'D.dict_items([('Age',18),('Name','Lisa')])6.5.2字典的常用方法2.get()、pop()、popitem()方法dict1.get(key,default):返回從dict1中獲取鍵key對應(yīng)的值;若鍵不存在,返回default的值,默認(rèn)值為None。此方法的好處是無需擔(dān)心key是否存在,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年供需購銷合同范本
- 2025年合作合同地質(zhì)勘查協(xié)議
- 2025年人力資源部年合同樣本
- 工程合同模板8篇-工程合同6篇
- 2025年修訂裝潢合同轉(zhuǎn)讓準(zhǔn)則
- 車輛長期租賃合同6篇
- 2025年農(nóng)業(yè)機(jī)械銷售業(yè)務(wù)合同協(xié)議書模板
- 2025年農(nóng)業(yè)耕作承包合同標(biāo)準(zhǔn)
- 2025年二手車流通合同規(guī)定
- 2025年建筑設(shè)備租用代替購買合同范文
- 人教版六年級上冊道德與法治教案(5篇)
- (中職)中職生創(chuàng)新創(chuàng)業(yè)能力提升教課件完整版
- 中班健康課件《我不挑食》
- 生豬屠宰獸醫(yī)衛(wèi)生人員考試題庫答案(414道)
- 《完善中國特色社會主義法治體系》課件
- 2024至2030年中國石油瀝青市場前景及投資機(jī)會研究報(bào)告
- 2025版 高考試題分析-數(shù)學(xué)-部分4
- 武漢大學(xué)張?。?024生成式人工智能大模型及其電力系統(tǒng)數(shù)智化應(yīng)用前沿報(bào)告
- (高清版)AQ 1056-2008 煤礦通風(fēng)能力核定標(biāo)準(zhǔn)
- 2024版高一上冊語文模擬試卷
- 《內(nèi)陸干旱區(qū)季節(jié)性河流生態(tài)流量(水量)確定技術(shù)導(dǎo)則》
評論
0/150
提交評論