0014 我的字典里不能沒有你,關鍵得有Key

上節(jié)課作業(yè)

1. 找到郵政編碼里面數(shù)字最多的那個省份的名字和共有幾個數(shù)字,結(jié)果應該是四川省和數(shù)字4



2. 定義如下的一個座位表,然后輸出座位表的每一個人的名字,同時輸出是第幾排第幾列


右下角張鑫晨為第1排第1列

注意最后一排有空位

這個比較簡單就不放代碼了,需要注意的一點是有2個空位置,可以用空字符串代替即可。如果最上面那行最后一個元素不填寫,則循環(huán)的時候注意檢查list長度,超過list長度范圍會出錯的。


字典數(shù)據(jù)類型定義

剛才的作業(yè)1里面,為了統(tǒng)計每個省份的個數(shù),用了列表類型來存儲,開始的時候列表為空,如果在列表中沒有找到省份,則向列表追加一個省份和個數(shù)的列表元素,這樣的做法用了2層循環(huán),看起來不是太優(yōu)美,有沒有更好的辦法呢

用字典數(shù)據(jù)類型能夠解決剛才的問題

字典是一種可變?nèi)萜鳎纱鎯θ我忸愋蛯ο?/p>

字典由0到n對鍵值組成,鍵值之間用冒號分割,每個對之間用逗號分隔,整個字典包括在花括號中

例如:d = { key1 : value1, key2 : value2 }

鍵必須是唯一的,但值則不必

值可以取任何數(shù)據(jù)類型,但鍵必須是不可變的,如字符串,數(shù)字或者元組

2個簡單的字典實例:

dict = { "語文課老師" : "張三", "數(shù)學課老師" : "李四", "英語課老師" : "王五"}

provinces={"四川" : 4, "湖北" : 2}


訪問字典里的值

把相應的鍵放入方括號,如下:


注意,如果訪問不存在的鍵,則程序會報錯


修改字典

通過賦值語句,可以修改字典的對應的鍵的值,如果該鍵不存在,則會新增鍵值,如下:



刪除字典元素

和列表一樣,使用del命令刪除字典的某個鍵值,或者整個字典,如下:


注意使用del刪除dict字典后的結(jié)果和用dict.clear()刪除字典中的所有元素的結(jié)果有何不同,這個可以自己去網(wǎng)上搜索答案


判斷是否存在鍵

使用字典自身的函數(shù)dict.has_key(key)來判斷是否存在這個鍵,返回True或者False:



如何遍歷字典

使用字典自身的函數(shù)dict.keys()來返回一個所有的鍵的列表,然后用for對這個列表進行循環(huán),循環(huán)內(nèi)部可以利用鍵來訪問值:



改造最多郵編省份名稱統(tǒng)計程序

改造統(tǒng)計最多郵編省份名稱的程序,將存儲統(tǒng)計結(jié)果的數(shù)據(jù)類型改為字典類型

判斷是否存在省份名稱的鍵,存在則將統(tǒng)計個數(shù)加1,不存在則向字典追加一個列表[省份,個數(shù)1]

然后對統(tǒng)計結(jié)果字典進行遍歷,判斷并記錄最大個數(shù)的那個鍵

改造后的代碼,變得簡潔了:


輸入一行字符串打印出每個字符出現(xiàn)的次數(shù)

程序思路:

模仿上面的程序,針對輸入英文字符進行遍歷

每個字符判斷在統(tǒng)計字典是否存在,存在,則值加1,不存在則賦值為1

遍歷統(tǒng)計字典的鍵,輸出個數(shù)

大家先不要看下面的代碼,自己嘗試從零開始編寫

代碼如下:


結(jié)果如下:



課后作業(yè)

1.輸入一行英文字符,分別統(tǒng)計英文字母/空格/數(shù)字/其它字符出現(xiàn)的次數(shù)

2.對6個數(shù)值進行排序,輸出從小到大


往期教程

從0001到0013總計13篇教程。

因為教程是系列教程,前后關聯(lián)性非常強,請大家按照微信公眾號【零基礎學編程】的歷史消息發(fā)布時間先后次序進行閱讀。

作者簡介

學哥,二十年編程經(jīng)驗,歷任程序員,資深程序員,技術經(jīng)理,項目經(jīng)理,產(chǎn)品經(jīng)理,系統(tǒng)架構(gòu)師,IT總監(jiān)。愛好篆刻,閱讀,美食。

QQ群簡介

歡迎大家加入QQ群 603559164 零基礎學編程,交流學習,共同進步。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容

  • 本節(jié)要介紹的是Python里面常用的幾種數(shù)據(jù)結(jié)構(gòu)。通常情況下,聲明一個變量只保存一個值是遠遠不夠的,我們需要將一組...
    小黑y99閱讀 65,224評論 0 9
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,981評論 19 139
  • 我記得多人的樓梯上的宿舍,兩個人擠在一個被窩,蒙著腦袋說悄悄話······ 我記得坐在我身后我暗戀的帥哥,還有我的...
    糊圖人閱讀 228評論 0 0
  • 洗完澡敷了面膜,肚子卻又不爭氣的開始亂叫,暑假狠心剪掉的幾斤肉仍然和我保持微笑的和我一起做起了難割難舍的好朋友,因...
    走丟在胡同口的折耳喵閱讀 195評論 0 0
  • 點滴在心中 這是2016年12月30日,晗寶的幼兒園舉辦的大合唱,也是晗寶第一次站在舞臺。也是我這個不稱職的媽媽第...
    襯托綠葉的野玫瑰閱讀 361評論 0 0