版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
專題七字典[考綱要求]3.掌握字典鍵值對查詢、修改、刪除、添加[課時安排]2課時[知識梳理]字典字典的定義字典(dict)是由一組鍵(key)和值(values)構成的,鍵與值之間用冒號分隔,鍵與值放置在一對花括號內。字典中,鍵與值之間存在一一對應的關系(映射關系)因此字典是具有映射字典名={鍵1:值1,鍵2:值2,鍵3:值3…}創(chuàng)建字典方法1:空字典直接賦值給變量方法2:使用dict()函數(shù)來創(chuàng)建使用dict()函數(shù)來創(chuàng)建,dict()函數(shù)傳入列表且列表內的元素是元組的形式的dict2=dict([("name","張三"),("age",18)])‘鍵=值’的形式傳入道dict()函數(shù)內,注意的是鍵不能使用引號3.使用dict()函數(shù)將列表、元組、集合轉為字典>>>1st=[(1,2),(3,4)>>>tup1=((1,2),(3,4),字典的特性Traceback(mostreceTypeError:unhashabletype:'可變的數(shù)據類型:列表、字典、集合(可變集合)2.鍵需要是唯一的,不能重復。如果創(chuàng)建字典時鍵重復了,那么重復的鍵和值會覆蓋前面print(dict1["name"])#李四3.由于字典的鍵值對是無序的,因此不支持索引(字典里面是通過鍵取到對應的值)和切片但是字典的值可以是任意的數(shù)據類型,也可以重字典的基本操作1.訪問字典的值字典對象[“鍵”]print(dict1["name"])#張三dict1={('name',"姓名"):'張三','age':18}print(dict1[('name',"姓名")])#張三#也可以使用元組內的元素(不推薦)dict1={'name':'張三','age':18,'info':(180,75)}print(dict1["info"][0])dict1={'name':'張三','age':18,'info':[180,75]}print(dict1["info"][1])#75#字典的值是字典時print(dict1["info"]["height"])#180字典對象["鍵"]=新的值dict1={"name":"張三","age":18}dict1={'name':'張三’,'age':18,'info':(180,75)}dict1["info"]=(185,75)#將元組看成整體不能使用dict1["info"][0]=185來修改dict1={'name':'張三’,'age':18,'info':[180,75]}print(dict1["info"])#[185,7dict1={'name':'張三’,'age':18,'info':{"height":1print(dict1["info"])#{'height':185,'weight':75}如果字典的值是不可變的數(shù)據類型就不能修dict1={"name":"張三","age":18}4.刪除字典的鍵值對del字典對象[“鍵”]print(dict1)#{'name':'張三','age':18}字典的操作函數(shù)1.dict.keys()用于獲取dict中所有的鍵(是dict_keys的數(shù)據結構)>>>list(dic1.keys())#['name’,'age2.dict.values()用于獲取dict中所有值(是dict_values的數(shù)據結構)dict_values(['張三’,18])3.dict.items()用于獲取dict中所有的(鍵,值)元組(是dict_values的數(shù)據結構)dict_items([('name','張三'),('age’,18)])4.dict.get(key[,value])從dict中獲取鍵為key對應的值,如果dict中存在key就會返回key對應的值,如果不存在key,則會返回None,如果給定了value,就會返回指定的47>>>dic.get(6)#不指定值則默認返回None值5.dict.clear()用于刪除字典dict中的所有元素使dict變成一個空字典6.dict.setdefault(key[,value]).如果字典dict中存在key,則該方法返回key對應的值,否則在字典dict中添加key:value,并返回value的477.dict1.update(dict2)用于將字典dict2中的元素添加到字典dict1中,若dict2的鍵存在于dict1中則會更新對應的值檢查鍵是否存在于字典中>>>dict1={1:"A",2:"Bprint(1indic.values())print(2print(3print(5獲取鍵的列表和字典長度使用列表的函數(shù)list()可以將字典的鍵轉為列表等價于字典對象.keys()>>>dict1={'name':'張三’,'age':18,"height":180,"weight":print(list(dict1))#['name','age','height','weiprint(list(dict1.keys())#['name','age’,'height’,'weight']如果想獲取字典的值組成的列表,就需要使用字典對象.values()來獲取print(list(dict1.values())#['張三’,18,180,75]如果想獲取字典的鍵值組成的列表,就需要使用字典對象.items()來獲取print(dict1.items())#dict_items([('name’,'張三'),('age',18),('height’,使用函數(shù)len()獲取字典的長度。一個鍵值對為一個元素[限時練習]1.關于字典鍵的數(shù)據類型,下面選項會導致錯誤()。A.使用字符串作為鍵【解析】字典的鍵必須是不可變類型,而列表是可變類型,因此無法作為鍵。2.執(zhí)行以下代碼后,字典的內容是什么?【解析】update()方法會更新已存在的鍵3的值,并添加新鍵5。3.下面哪個表達式返回True()。【解析】values()包含2。選項A檢查的是鍵是否存在,但(1,2)不是鍵;選項C中列表不可作為鍵;選項D檢查的是完整的鍵值對,3不是元組形式的鍵值對。4.執(zhí)行以下代碼后,輸出結果是什么()。dic={'a':[1,2],'b':{’x':3}}C.報錯,因為字典值不可修改【解析】字典的值是列表或嵌套字典時,可以通過索引或鍵直接修改其內5.關于dict.get(key,default)方法,下面說法正確的是()。A.如果key存在,返回default值B.如果key不存在,返回None,無論是否指定defaultD.總是返回key對應的值,不存在則報錯【解析】get()方法在key不存在時返回default,若未指定default則返回None。6.下面代碼的輸出是什么()。dic=dict([('name',’李四’),('age',20)])D.報錯,因為age已存在【解析】setdefault()方法對已存在的鍵age不會修改其值,而新鍵gender會被添加。字典(dict)是由一組鍵(key)及與其對應的值構成的,鍵與對應的值之間用冒號分隔,鍵與值放置在一對花括號內。在同一個字典中,鍵與值之間存在——對應的關系(映射關系),鍵的作用相當于素引,每個鍵對應的值就是數(shù)據。字典屬于可變數(shù)據類型,在字典中的值可以包含任何數(shù)據類型。字典的語法結構:字典的定義字典的定義字典名=健1:值1,健2:值2,鍵3值3..創(chuàng)建空字典方法1將空字典賦值給交量創(chuàng)建字典創(chuàng)建非空字典1.鍵必須是不可變的數(shù)據類型,且不可變數(shù)據的內部也不能包含可變的數(shù)據類型。2.鍵是唯一的,不能重復。如果創(chuàng)建字典時鍵重復了,后面重復的鍵和值,會覆蓋前面的鍵值。3.字典的鍵值對是無序的,因此不支持索引和切片總結:字典的鍵遵循集合的三大特征●1.訪向字典的值字典對象[鍵”12.修改字典的值字典對象[“鍵”]=新的值3.增加字典的鍵值對字典對象[“新的鍵”]=新的值4.刪除字典的鍵值對del字典對象[”鍵”]1.dict.keys()用于獲取dict中所有鍵(可迭代對象)2.dict.values()用于獲取dict中所有值(可迭代對象)4.dict.get(keylvaluel)用于從dict中獲取鍵為key對應的值,如果dict中存在key就會返回key對應的值,如果不存在key,則會返回None,如果給定了value,就會返回給的value值5.dict.clear)用于刪除字典dict中的所有元素使dict變成一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年紅外光學測量雷達項目建議書
- 2025年文化內容產品服務項目發(fā)展計劃
- 中藥封包護理的康復效果研究
- 護理急救:原則與流程
- 運動平板試驗護理要點總結
- 管道護理PDCA循環(huán)詳解
- 危重癥監(jiān)護核心護理技術梳理
- 護理入門課程課件
- 告別任性課件
- 護理常規(guī)康復護理
- 物流運輸服務方案投標文件(技術方案)
- 南陽市勞務合同范本
- 產業(yè)園招商培訓
- 2026年齊齊哈爾高等師范專科學校單招綜合素質考試題庫必考題
- 2018版公路工程質量檢驗評定標準分項工程質量檢驗評定表路基土石方工程
- 導尿管相關尿路感染(CAUTI)防控最佳護理實踐專家共識解讀
- 2025年廣東深圳高中中考自主招生數(shù)學試卷試題(含答案詳解)
- SMETA員工公平職業(yè)發(fā)展管理程序-SEDEX驗廠專用文件(可編輯)
- 2024年湖南高速鐵路職業(yè)技術學院公開招聘輔導員筆試題含答案
- 水泵購買合同(標準版)
- ICU獲得性衰弱課件
評論
0/150
提交評論