日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python程序开发——第四章 字典与集合

發(fā)布時間:2024/2/28 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python程序开发——第四章 字典与集合 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

  • 一、字典
    • (一)字典的創(chuàng)建
    • (二)字典的訪問
    • (三)字典的增刪改查
      • 1、字典的添加
      • 2、字典的刪除
      • 3、字典的修改
      • 4、字典的查詢
  • 二、集合
    • (一)集合的分類
    • (二)集合的創(chuàng)建
    • (三)集合元素的添加
    • (四)集合的刪除
    • (五)集合類型操作符
  • 三、列表、元組、字典、集合的總結(jié)


一、字典

字典是一種映射類型,即鍵-值的形式組合,字典的鍵是唯一的,但值可以不唯一,值可以為任何數(shù)據(jù)類型,且字典中的元素是無序的。
鍵可以用字符串、數(shù)字或元組,但不能是列表,即鍵必須是不可變的。

(一)字典的創(chuàng)建

1、通過使用花括號,即{}來創(chuàng)建字典,其中可以包含多個鍵值對(鍵-值),鍵和值之間使用冒號:連接,且多個鍵值對使用逗號相隔。
若花括號內(nèi)沒有鍵值對,則會創(chuàng)建一個空字典,若字典中由重復(fù)鍵,則舊鍵會被覆蓋。

x = {"a": "第一", "a": "第二"} print(x)

可以看出字典的鍵已被替換為“第二”:

例如下列python代碼:

x = {"a": "第一", "b": "第二", "c": 1, "d": 2} y = {} print(x, y)

運行結(jié)果如下:

2、另外也可以通過使用內(nèi)置函數(shù)dict()函數(shù)來創(chuàng)建字典,其中鍵值對之間通過使用=連接,即鍵=值。
例如下列python代碼:

a = dict(name="xiaoming", sex="男", age=20) print(a)

運行結(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ù)添加一個新的元素:

a = {"name": "xiaoming", "sex": "男", "age": 20} print(a) a["tel"] = 1234567 print(a) a.update(address="Rod 1") print(a)

運行結(jié)果如下:

2、字典的刪除

(1)可以通過使用pop()函數(shù),對字典中指定元素的鍵值進行刪除。
(2)使用popitem()函數(shù),隨機刪除字典中的元素。
(3)使用clear()函數(shù),清空字典中的所有元素。
例如下列python代碼,指定刪除age鍵值對,popitem()函數(shù)隨機刪除的是tel鍵值對,最后通過clear()函數(shù)清空字典:

a = {"name": "xiaoming", "sex": "男", "age": 20, "tel": 134567} a.pop("age") print(a) a.popitem() print(a) a.clear() print(a)

運行結(jié)果如下:

(4)另外也可以通過del語句來刪除字典中單個的元素或清空所有。
例如下列python代碼:

a = {"name": "xiaoming", "sex": "男", "age": 20, "tel": 134567} del a["tel"] print(a) del a print(a)

運行結(jié)果如下,這里第二個print函數(shù)出現(xiàn)異常的原因是,del語句已經(jīng)將字典a刪除,所以顯示字典a未被定義:

3、字典的修改

通過對字典中已存在的元素進行更改,它和字典的添加差不多,也是可以通過指定鍵或update函數(shù)來進行修改。
例如下列python代碼:

a = {"name": "xiaoming", "sex": "男", "age": 20} a["name"] = "xiaofang" print(a) a.update(sex="女") print(a)

運行結(jié)果如下:

4、字典的查詢

通過key()、values()、items()函數(shù)來返回相應(yīng)的鍵、值、鍵值對,它們都會分別返回dict_keys、dict_values、dict_items相應(yīng)的對象,且這些對象都是可以迭代的,所以可以通過for循環(huán)將器遍歷輸出。

(1)通過使用keys()函數(shù)來查詢字典中所有的鍵。
例如下列代碼:

a = {"name": "xiaoming", "sex": "男", "age": 20} print(a.keys()) print("通過for循環(huán)遍歷輸出所有的鍵:") for i in a.keys():print(i)

運行結(jié)果如下:

例如隨機輸入一串數(shù)字,要求通過字典來統(tǒng)計輸入數(shù)字中各數(shù)字出現(xiàn)的次數(shù),例如下列python代碼:

str=input() count = {}#創(chuàng)建一個空字典 for i in str:if i in count.keys():#通過keys()函數(shù)來查詢鍵是否在字典中count[i] += 1#若字典中已有該數(shù)字,則鍵相應(yīng)的值加1else:count[i] = 1 print(count)

運行結(jié)果如下:

(2)使用values()函數(shù)來查詢字典中所有的值。
例如下列python代碼:

a = {"name": "xiaoming", "sex": "男", "age": 20} print(a.values()) print("通過for循環(huán)遍歷輸出所有的值:") for i in a.values():print(i)

運行結(jié)果如下:

(3)使用items()函數(shù)來查詢字典中的所有的鍵值對。
例如下列python代碼:

a = {"name": "xiaoming", "sex": "男", "age": 20} print(a.items()) print("通過for循環(huán)遍歷輸出所有的元素:") for i in a.items():print(i)

運行結(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中傳入一個列表、元組:

x = {1, 0, "python", "css", "c++"} print(x) y = set(["t", "h", "e"]) # 向集合傳入一個列表 z = set(("t", "h", "e")) # 向集合傳入一個元組 print(y) print(z)

運行結(jié)果如下:

通過集合中的元素唯一這一特性,所以可以通過set()來刪除列表中的重復(fù)數(shù)據(jù),例如下列python代碼,通過將列表a變?yōu)榧喜⑤敵鰪亩鴮崿F(xiàn)刪除列表a中重復(fù)數(shù)據(jù)的功能:

a = [1, 3, 0, -3, 9, 1.2, 3, 3] a = list(set(a)) # list()將轉(zhuǎn)換的a集合轉(zhuǎn)為列表 print(a)

運行結(jié)果如下:

(三)集合元素的添加

可以通過add()函數(shù)和update()函數(shù)對可變集合中添加集合元素,add()函數(shù)和update()函數(shù)的作用分別是添加一個元素、添加多個元素,且add()是將元素作為一個整體添加到集合中,而update()函數(shù)是將元素拆成多個元素來添加。
例如下列python代碼:

a = {1, 2, 3, 4} print(a) a.add(5) print(a) b = {"one", "two"} b.update("three", "four") print(b)

運行結(jié)果如下:

(四)集合的刪除

1、可以通過remove()函數(shù)、discard()函數(shù)來刪除可變集合中的指定元素,其區(qū)別是discard()函數(shù)對不存在集合中的元素進行刪除時不執(zhí)行任何操作,而remove()函數(shù)會報錯。
2、pop()函數(shù)用于刪除可變集合中的隨機元素。
3、也可以通過clear()函數(shù)來清空可變集合中的所有元素或del語句直接刪除集合。
例如下列python代碼:

a = {1, 2, 3, 4} print(a.clear()) b = {3, 4} del b

運行結(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ù);映射類型是以鍵-值的形式來表示的。
以下是列表、元組、字典、集合的對比,其中字典的鍵是唯一的,但值可以不唯一:

超強干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達旦的技術(shù)人生

總結(jié)

以上是生活随笔為你收集整理的Python程序开发——第四章 字典与集合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。