Python程序开发——第四章 字典与集合
目錄
- 一、字典
- (一)字典的創(chuàng)建
- (二)字典的訪問
- (三)字典的增刪改查
- 1、字典的添加
- 2、字典的刪除
- 3、字典的修改
- 4、字典的查詢
- 二、集合
- (一)集合的分類
- (二)集合的創(chuàng)建
- (三)集合元素的添加
- (四)集合的刪除
- (五)集合類型操作符
- 三、列表、元組、字典、集合的總結(jié)
一、字典
字典是一種映射類型,即鍵-值的形式組合,字典的鍵是唯一的,但值可以不唯一,值可以為任何數(shù)據(jù)類型,且字典中的元素是無序的。
鍵可以用字符串、數(shù)字或元組,但不能是列表,即鍵必須是不可變的。
(一)字典的創(chuàng)建
1、通過使用花括號,即{}來創(chuàng)建字典,其中可以包含多個鍵值對(鍵-值),鍵和值之間使用冒號:連接,且多個鍵值對使用逗號相隔。
若花括號內(nèi)沒有鍵值對,則會創(chuàng)建一個空字典,若字典中由重復(fù)鍵,則舊鍵會被覆蓋。
可以看出字典的鍵已被替換為“第二”:
例如下列python代碼:
運行結(jié)果如下:
2、另外也可以通過使用內(nèi)置函數(shù)dict()函數(shù)來創(chuàng)建字典,其中鍵值對之間通過使用=連接,即鍵=值。
例如下列python代碼:
運行結(jié)果如下:
若通過使用函數(shù)來創(chuàng)建字典中,有重復(fù)鍵時,會報錯。
(二)字典的訪問
由于字典中的鍵是唯一的,可以通過鍵來訪問獲取鍵對應(yīng)的值,例如下列python代碼:
a = dict(name="xiaoming", sex="男", age=20) print(a['name'])運行結(jié)果如下:
若字典中不存在所要訪問的鍵,則會報錯。
(三)字典的增刪改查
1、字典的添加
通過指定新鍵添加字典元素或使用update()函數(shù)來添加字典元素。
例如下列python代碼,在字典a中創(chuàng)建一個新鍵tel,值為1234567,然后使用update函數(shù)添加一個新的元素:
運行結(jié)果如下:
2、字典的刪除
(1)可以通過使用pop()函數(shù),對字典中指定元素的鍵值進行刪除。
(2)使用popitem()函數(shù),隨機刪除字典中的元素。
(3)使用clear()函數(shù),清空字典中的所有元素。
例如下列python代碼,指定刪除age鍵值對,popitem()函數(shù)隨機刪除的是tel鍵值對,最后通過clear()函數(shù)清空字典:
運行結(jié)果如下:
(4)另外也可以通過del語句來刪除字典中單個的元素或清空所有。
例如下列python代碼:
運行結(jié)果如下,這里第二個print函數(shù)出現(xiàn)異常的原因是,del語句已經(jīng)將字典a刪除,所以顯示字典a未被定義:
3、字典的修改
通過對字典中已存在的元素進行更改,它和字典的添加差不多,也是可以通過指定鍵或update函數(shù)來進行修改。
例如下列python代碼:
運行結(jié)果如下:
4、字典的查詢
通過key()、values()、items()函數(shù)來返回相應(yīng)的鍵、值、鍵值對,它們都會分別返回dict_keys、dict_values、dict_items相應(yīng)的對象,且這些對象都是可以迭代的,所以可以通過for循環(huán)將器遍歷輸出。
(1)通過使用keys()函數(shù)來查詢字典中所有的鍵。
例如下列代碼:
運行結(jié)果如下:
例如隨機輸入一串數(shù)字,要求通過字典來統(tǒng)計輸入數(shù)字中各數(shù)字出現(xiàn)的次數(shù),例如下列python代碼:
運行結(jié)果如下:
(2)使用values()函數(shù)來查詢字典中所有的值。
例如下列python代碼:
運行結(jié)果如下:
(3)使用items()函數(shù)來查詢字典中的所有的鍵值對。
例如下列python代碼:
運行結(jié)果如下:
二、集合
集合類型是無序的,其中元素不可重復(fù),它與數(shù)學(xué)學(xué)科里面的集合一樣。
(一)集合的分類
集合分為可變集合和不可變集合,即根據(jù)集合中的元素是否可變來區(qū)分的,不可變集合通過使用frozenset()函數(shù)來創(chuàng)建,該集合中的元素不可改變,這里不多做講解。
(二)集合的創(chuàng)建
(1)可變集合和字典的一般創(chuàng)建方法一樣,也通過花括號,即{}來創(chuàng)建一個集合,多個元素通過逗號分隔。
(2)或可以使用set()函數(shù)來創(chuàng)建集合,而不能使用花括號,否則會創(chuàng)建一個空字典。
例如下列Python代碼,向集合y、z中傳入一個列表、元組:
運行結(jié)果如下:
通過集合中的元素唯一這一特性,所以可以通過set()來刪除列表中的重復(fù)數(shù)據(jù),例如下列python代碼,通過將列表a變?yōu)榧喜⑤敵鰪亩鴮崿F(xiàn)刪除列表a中重復(fù)數(shù)據(jù)的功能:
運行結(jié)果如下:
(三)集合元素的添加
可以通過add()函數(shù)和update()函數(shù)對可變集合中添加集合元素,add()函數(shù)和update()函數(shù)的作用分別是添加一個元素、添加多個元素,且add()是將元素作為一個整體添加到集合中,而update()函數(shù)是將元素拆成多個元素來添加。
例如下列python代碼:
運行結(jié)果如下:
(四)集合的刪除
1、可以通過remove()函數(shù)、discard()函數(shù)來刪除可變集合中的指定元素,其區(qū)別是discard()函數(shù)對不存在集合中的元素進行刪除時不執(zhí)行任何操作,而remove()函數(shù)會報錯。
2、pop()函數(shù)用于刪除可變集合中的隨機元素。
3、也可以通過clear()函數(shù)來清空可變集合中的所有元素或del語句直接刪除集合。
例如下列python代碼:
運行結(jié)果如下:
(五)集合類型操作符
在Python中,可以通過集合類型操作符對集合進行操作。
| 聯(lián)合 | | | 兩方集合并集組成新集合 |
| 交集 | & | 兩方集合交集組成新集合 |
| 差補 | - | 排除交集,將只屬于一方的元素組成新集合 |
| 對稱差分 | ^ | 排除兩方集合的交集組成新的集合 |
例如下列python代碼:
x = {1, 2, 3, -1} y = {0, 2, 6} print(x | y) print(x & y) print(x - y) print(y - x) print(x ^ y)運行結(jié)果如下:
三、列表、元組、字典、集合的總結(jié)
在Python中,組合類型分為序列類型、集合類型和映射類型,序列類型即列表和元組,它們較其它兩種是有序的;集合類型是無序的且元素不重復(fù);映射類型是以鍵-值的形式來表示的。
以下是列表、元組、字典、集合的對比,其中字典的鍵是唯一的,但值可以不唯一:
總結(jié)
以上是生活随笔為你收集整理的Python程序开发——第四章 字典与集合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python程序开发——第三章 列表与元
- 下一篇: Python程序开发——第五章 函数