Python編程基礎(chǔ)之字典
一、字典概念
字典(dict)可能是最重要的Python內(nèi)置數(shù)據(jù)結(jié)構(gòu),更常用的名稱是哈希映射(HashMap - Java)或關(guān)聯(lián)數(shù)組(Associate Array - PHP)。它是鍵值對(duì)(Key-Value Pair)的集合,鍵和值都是Python對(duì)象。定界符是花括號(hào){},鍵與值用半角的分號(hào)隔開。

其實(shí),Python的字典跟JSON很類似。
JSON 指的是 JavaScript 對(duì)象表示法(JavaScript Object Notation);
JSON 是輕量級(jí)的文本數(shù)據(jù)交換格式,JSON 獨(dú)立于語(yǔ)言:JSON 使用 Javascript語(yǔ)法來(lái)描述數(shù)據(jù)對(duì)象,但是 JSON 仍然獨(dú)立于語(yǔ)言和平臺(tái)。JSON 解析器和 JSON 庫(kù)支持許多不同的編程語(yǔ)言。 目前非常多的動(dòng)態(tài)(PHP,JSP,.NET)編程語(yǔ)言都支持JSON。JSON 具有自我描述性,更易理解。

利用Json Viewer工具來(lái)格式化JSON對(duì)象或JSON數(shù)組

格式化JSON

切換到Viewer選項(xiàng)卡,可視化JSON

二、字典操作
(一)創(chuàng)建字典
1、先創(chuàng)建空字典,再添加元素(鍵值對(duì))
給字典按鍵賦值時(shí),如果鍵不存在,則添加新元素,否則就是用新值替換舊值

2、直接創(chuàng)建包含若干鍵值對(duì)的字典

(二)字典操作
1、讀取字典元素 - 按鍵取值
按鍵取值,如果鍵存在,那么返回值;如果鍵不存在,那么拋出異常(KeyError)

2、添加字段元素 - 按鍵賦值
按鍵賦值,添加新元素(不存在的鍵)

如果按鍵賦值時(shí),鍵是存在的,那就不是添加新元素,而是更新舊元素的值

只允許添加新元素,不允許更新舊元素

可以將一個(gè)字典拆分成兩個(gè)列表:鍵列表和值列表

3、更新字典元素
(1)直接按鍵賦值(鍵必須是存在的)
按鍵賦值時(shí),如果鍵存在,那么就是更新字典元素,否則就是添加新元素

只允許更新元素,不允許添加新元素

(2)利用update()方法可以進(jìn)行插入或更新操作 查看update()函數(shù)的參數(shù)

根據(jù)字典{‘003': ‘娃哈哈', ‘006': ‘變形金剛'}對(duì)names字典進(jìn)行更新

4、遍歷字典元素
利用字典的keys()函數(shù)拿到鍵列表,然后利用for循環(huán)進(jìn)行遍歷

5、刪除字典元素
(1)利用del命令刪除字典元素 刪除鍵為“003”的字典元素(成功),刪除鍵為“007”的字典元素(異常)

(2)利用字典的pop()函數(shù)刪除字典元素 查看pop()函數(shù)的參數(shù)與返回值

刪除鍵為“005”的字典元素(成功),刪除鍵為“008”的字典元素(異常)

6、將字典拆分成鍵列表與值列表
利用keys()和values()方法返回鍵列表和值列表(迭代器),而且兩個(gè)列表順序相同

7、將字典轉(zhuǎn)換成鍵值元組構(gòu)成的列表

8、基于兩個(gè)等長(zhǎng)列表創(chuàng)建字典
基于城市列表和市花列表創(chuàng)建字典

還有一個(gè)更簡(jiǎn)單的方法

9、關(guān)于字典元素獲取的缺省值
注意,通過get()函數(shù)獲取字典元素,可以設(shè)置缺省值,缺省值默認(rèn)是None。按鍵取值,如果鍵存在,就返回對(duì)應(yīng)的值,否則返回設(shè)置的缺省值。

三、課后作業(yè)
任務(wù)1、將單詞列表按首字母分類成列表字典
方法一

方法二

任務(wù)2、統(tǒng)計(jì)文件里每個(gè)單詞的個(gè)數(shù)

總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
讓Python程序定時(shí)執(zhí)行的8種方法整理
在日常工作中,我們常常會(huì)用到需要周期性執(zhí)行的任務(wù),一種方式是采用?Linux?系統(tǒng)自帶的?crond?結(jié)合命令行實(shí)現(xiàn),另外一種方式是直接使用Python。本文整理了一下?Python?定時(shí)任務(wù)的實(shí)現(xiàn)方式,希望對(duì)大家有所幫助2023-01-01
Python批量將csv文件編碼方式轉(zhuǎn)換為UTF-8的實(shí)戰(zhàn)記錄
近日在處理數(shù)據(jù)的時(shí)候發(fā)現(xiàn)有的文件為csv文件,Xiam 這篇文章主要給大家介紹了關(guān)于利用Python批量將csv文件編碼方式轉(zhuǎn)換為UTF-8的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
Python數(shù)據(jù)模型與Python對(duì)象模型的相關(guān)總結(jié)
這篇文章主要介紹了Python數(shù)據(jù)模型與Python對(duì)象模型的相關(guān)總結(jié),幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2021-01-01
Python使用latexify模塊實(shí)現(xiàn)將代碼為數(shù)學(xué)公式
latexify 是一個(gè)輕量級(jí)的 Python 模塊,可以將 Python 代碼轉(zhuǎn)換為 LaTeX 格式的數(shù)學(xué)表達(dá)式,這篇文章就來(lái)和大家探索一下如何使用latexify模塊實(shí)現(xiàn)將代碼為數(shù)學(xué)公式吧2023-12-12

