「小白學Python」5分鐘精通Python字典類型

2021-01-07 職場的老油條

知識回顧:

「小白學Python」Python列表基礎:它包羅萬象,卻動若脫兔

「小白學Python」Python列表進階:6函數 9方法 列表隨心用

字典(dictionary),我們能聯想到什麼?一本厚厚的辭海?還是一本牛津字典?不論想到什麼字典,使用字典的方法都差不多,那就是①找到單詞的頁碼②找到對應內容。Python中的字典也是一樣,字典中的對象不是單個單元素,而是一個鍵值對,包括了頁碼和內容。

字典的作用

你可能會問,我們用列表的索引不就解決問題了嗎,為啥要費勁在弄個鍵值對呢。試想一下,如果有一個人的信息列表:

["小明","30","183","75"] 分別代表名字、年齡、身高、體重。

現在我們想要得到他的身高,我們就得去列表裡找他的身高的索引。問題是我們也不知道哪個數字代表身高啊,萬一身高是75釐米呢?

這時候,如果能給這些數據加上一個關鍵字Keyword就好辦多了,就好像:

{"姓名":"小明","年齡":30, "身高":183, "體重":75}

現在我們再想找他的身高,只需要根據關鍵字就能找到身高的數值了。這就是字典的作用。

創建字典

在剛才的例子中其實已經展示了字典的創建方法。

就是用一個大括號{}括起來,鍵和值之間用冒號:隔開,而鍵值對之間用逗號,隔開。

例如:

dict_name = {"姓名" : "張飛", "國籍" : "蜀國", "身高" : "185", "愛好" : "喝酒"}

這樣就創建了一個dict_name字典,字典裡面有4個鍵值對。

訪問字典

如何訪問字典呢?原來常用的通過索引訪問的方法還能行得通麼?顯然不行了。

用索引不能訪問列表

我們用字典就是因為他有關鍵字,方便查找。用關鍵字來訪問內容才是正路。

訪問字典的兩種方法:

1、dict['Keywords'] 返回Keywords指向的值。

通過關鍵字訪問

如果字典裡沒有這個關鍵字,系統就會報錯。

找不到key就會報錯

2、使用dict.get(Keywords, value)

這個方法與第一個一樣,也是訪問Keywords的值,不過如果沒找到,不會報錯,而是默認返回None,或者返回指定值。

使用dict.get( )不會報錯

字典的增刪改

1、向字典裡增加內容,同樣要增加一對鍵值。

增加一對鍵值

2、使用dict.fromkeys(seq, value)將一個列表List、元祖Tuple、字符串Str其中的元素,作為字典的Key,初始值如果不設定,默認為None。

將一個序列變為字典中的ke'y

3、複製一個新的字典。

如果用賦值的方式,則和列表一樣,是一個"假"字典,原字典變化時,新字典也會跟著改變。

一個全新的,獨立自主的字典,需要使用dict.copy( )方法。

用copy( ) 是新字典,賦值不是新字典

4、修改字典內的鍵值對

字典只能夠修改key對應的值,而不能修改key值!修改方法直接賦值即可。

key不能修改

5、字典的刪除操作

第一種 刪除一個鍵值對,使用del指令。只需要刪除鍵,就把這個鍵值對刪除了。

例如:張飛愛喝酒,劉備給他約法三章,嚴禁喝酒,於是……

del 刪除一個鍵值對

第二種 清空字典,這裡需要用到 .clear( ) 方法

例如:阿鬥本來是有數據的,被劉備摔傻了,腦子裡啥都沒有了。

clear( ) 清空,但字典還在

但是阿鬥還活著,只是腦子裡的東西沒了。也就是說用.clear( )方法,字典還存在,只是內容被清空了。

第三種 刪除整個字典,還是用del指令。這次刪除的是整個字典,不需要指定字典的鍵。

例如:鞠躬盡瘁的諸葛亮病死五丈原。

del 刪除整個字典,不可再訪問

諸葛亮死後(del之後),這個字典就永久消失了,不能夠再次訪問。

第四種 popitem( ) 刪除字典裡最後一個鍵值對。pop(key, defalt) 刪除字典裡key對應的值,並將這個值返回。

兩個刪除方法

字典的迭代函數

有時候為了方便對字典進行操作,我們需要把字典編程列表。將字典編程列表需要用到迭代器,字典帶有三個重要的迭代器:.items( ) .keys( ) .values( )。

1、items( )的用法

用兩個參數(i, j)來遍歷字典,順序是 第一個key,第一個key的值,第二個key,第二個key的值……

items( )可以將整個字典遍歷下來

2、key( )的用法

先用key( )將字典裡的key全部提取出來,再用list( )轉化為列表。

key( )可以將key遍歷下來

3、value( )的用法

將字典裡的值取出來,並用list( )函數轉化為列表。

value( )可以將值遍歷下來

字典的用途很廣泛,知識點也比較多,還需要多時間和操作,才能牢固掌握。

字典的思維導圖

往期知識:

「小白學Python」Python元祖:不改變是我最大的特點

「小白學Python」Windows系統下Python的安裝

相關焦點

  • 小白學 Python(12):基礎數據結構(字典)(上)
    人生苦短,我選Python前文傳送門小白學 Python(1):開篇小白學 Python(2):基礎數據類型(上)小白學 Python(3):基礎數據類型(下)小白學 Python(4):變量基礎操作小白學 Python(5):基礎運算符(上)小白學 Python(6):基礎運算符(下)小白學 Python(7):基礎流程控制(上)小白學 Python(8):基礎流程控制(下)小白學 Python(9):基礎數據結構(列表)(上)小白學 Python(10):
  • 「小白學Python」Python中最常用的數據類型:字符串
    Python中有6個標準數據類型,分別是:Number(數值)、String(字符串)、List(列表)、Tuple(元組)、Sets(集合)、Dictionary(字典)。其中,String(字符串)類型是使用的最多的,所以我們就從字符串類型說起。什麼是String(字符串)顧名思義,字符串,就是由字符組成的串。
  • 「python學習手冊-筆記」003.數值類型
    「浮點數:」 浮點數在標準的CPython中,採用的是C語言的雙精度浮點數.: cmplxOut[5]: (1+2j)In [6]: type(cmplx)Out[6]: complex除了以上三種類型之外,python的數字類型還包括布爾類型.
  • 「小白學Python」Python列表基礎:它包羅萬象,卻動若脫兔
    往期回顧:「小白學Python」數值類型很簡單,小知識點要了解「小白學Python」Python中最常用的數據類型:字符串Python中有六大基本數據類型,根據這六個數據類型的特點,我將其分為三類,分別是數字、有序序列和無序序列。前面已經介紹過數字和有序序列中的字符串,接下來分享列表的知識。
  • 如何在python中引入高性能數據類型?
    在一般意義上,python 中的集合是用於存儲數據集合(如 list、dict、tuple 和 set)的容器。這些容器直接構建在 python 中,可以直接調用。collections 模塊提供額外的高性能數據類型,這些數據類型可以提高代碼的性能。讓我們瀏覽一下 collections 模塊最流行的數據類型以及如何使用它們吧!
  • 002.Python核心數據類型
    ❞先來解決一個書上沒搞懂的東西,「字面量」百度百科給出的字面量的解釋:"在計算機科學中,字面量(literal)是用於表達原始碼中一個固定值的表示法(notation)。">Out[3]: 4索引和切片「字符串是一個序列,支持索引和for的遍歷」在字符串的索引中,負數表示逆向的索引,也就是從後往前.也就是說S[-1]相當於S[len(S)-1]In [4]: S[0]Out[4]: 's'In [5]: S[-1]
  • python數據類型總結——字典
    查字典的時候,通常我們會從某個字的特徵出發,如拼音或偏旁,最終根據索引,找到這個字。python中,也提供一種數據結構,它包含鍵和值兩個部分,通過鍵可以快速地找到對應的值。python字典字典通過大括號來聲明,可包含若干個鍵值對。字典是可變的。如下:
  • Python入門教程——數據類型之字典
    Dictionary類型即字典。用 {} 表示,用來存儲鍵/值對。定義# 定義一個空字典dic = {}# 定義一個字典並初始化dict = {'name': 'python book', 'price': '$19.9', 'pages': 888}上述代碼,name、price、pages為鍵,python book、$19.9、888為值。
  • 小白學 Python 數據分析(3):Pandas (二)數據結構 Series
    Python 數據分析(1):數據分析基礎小白學 Python 數據分析(2):Pandas (一)概述引言先介紹下 Pandas 的數據結構,畢竟數據結構是萬物的基礎。如果 index 的值未指定,那麼將會自動的創建數值類型的索引,從 0 開始,例如:0 , 1 , 2, 3 ... len(data) - 1 。
  • 「小白學Python」數值類型很簡單,小知識點要了解
    注意運算後的類型3、 整型的運算遵循算術運算次序,如果要改變次序,可以用 ( ) 括起來。還是小學知識。真是1,假是0(賈玲)數值類型的轉換Python中可以用函數將數值類型強行進行改變。說不通的時候,就用「強」。例如:可以用int( )函數將其他類型的數值變為整型。
  • 「對比Python學習Go」- 高級數據結構下篇
    本篇是「對比 Python 學習 Go」系列的第四篇,本篇文章我們來看下 Go 的高級數據結構,因文章偏長分為兩篇,此為下篇。本系列的其他文章可到 「對比 Python 學習 Go」- 開篇[1] 查看,下面我們開始今天的分享。
  • python字典操作大全,學習python第7天
    python字典跟列表類型,能存儲多個數據,並且還能在訪問元素的時候可以很快定位到需要的元素。而python字典操作方法有多少種呢?下面羽憶教程為您介紹。python字典python字典概念:python字典可以用來存儲任意類型對象,python字典都是由一個鍵和一個值組成的「鍵值對」,兩者之間用冒號隔開
  • 瘋狂的Python字典
    花點時間思考一下下面的字典表達式,以及它計算後將得到的內容:>>> {True: 'yes', 1: 'no', 1.0: 'maybe'}在這裡,我先等會兒,大家思考一下…5…4…3…2…1…OK, 好了嗎?
  • Python數據類型之字典dict
    # 字典是一種可變容器類型,可存儲任意類型對象# 字典以鍵值對存儲數據,key-value形式,鍵值之間使用冒號:分隔,每個鍵值中間用逗號,分隔# 字典包含在大括號,花括號{}中# python中鍵必須是不可變的,但值可取任何數據類型# 元組可以作為 dict 的 key,但列表不能作為元組的 key,dict 要求
  • Python字典裡的5個黑魔法
  • python字典
    {}鍵 值 鍵 值alien = {'color':'green','points':5} 'color':'green'鍵-值對字典名 = 鍵-值對字典是一系列鍵-值對。
  • 【Python 第37課】 字典
  • Python的集合與字典
    /usr/bin/python3student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}print(student) # 輸出集合,重複的元素被自動去掉# 成員測試if('Rose'
  • python之dict字典數據類型講解
    前言python中有一種非常重要的數據類型就是dict字典。字典數據類型使用頻率是很廣泛的,其實字典數據類型非常類似於Java中的Map,JavaScript中的json。本文就重點講解dict字典。概念字典不同於其他數據類型,最重要的區別在於字典數據類型是通過一個key來去獲取對應的value。字典是通過鍵值對/key-value對聯繫起來的。語法字典的每個鍵值對使用「:」冒號進行分割,多個鍵值對使用「,」逗號分割。整個字典被一對「{}」包括起來。字典中的key必須要保證唯一,但是值可以重複。
  • 掌握Python字典的12個例子
    值可以是任何類型。考慮一個我們需要存儲學生成績的案例。我們可以把它們存儲在字典或列表中。for i in grades:    print(i)    JohnEmilyBettyMike我們也可以對值進行迭代(「grades.values()「或」grades.items