<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          掌握Python字典的8個(gè)示例

          共 2723字,需瀏覽 6分鐘

           ·

          2022-06-28 16:48

          點(diǎn)擊上方小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時(shí)間送達(dá)


          引言


          數(shù)據(jù)結(jié)構(gòu)是任何編程語言的關(guān)鍵部分。為了創(chuàng)建健壯和性能良好的產(chǎn)品,必須非常了解數(shù)據(jù)結(jié)構(gòu)。


          在本文中,我們將研究Python編程語言的重要數(shù)據(jù)結(jié)構(gòu),即字典(Dictionary)。


          字典是鍵值對的無序集合。每個(gè)條目都有一個(gè)鍵和值。字典可以視為具有特殊索引的列表。


          鍵必須是唯一的和不可變的。因此,我們可以使用字符串、數(shù)字(整型或浮點(diǎn)型)或元組作為鍵。值可以是任何類型。


          考慮一個(gè)我們需要存儲(chǔ)學(xué)生成績的案例。我們可以將它們存儲(chǔ)在字典或列表中。

          通過使用字典,我們可以通過提供學(xué)生的姓名(鍵)來查詢每個(gè)學(xué)生的成績。然而在列表中,為了能夠獲得特定學(xué)生的成績,我們需要一個(gè)額外的列表。


          新列表包含學(xué)生的姓名,并且與成績列表完全相同的順序。

          因此,對于這種情況,字典是比列表更好的選擇。


          簡短介紹之后,讓我們開始深入研究字典的示例。這些示例將涵蓋詞典的功能以及對其進(jìn)行操作的功能和方法。


          1. 創(chuàng)建字典


          我們可以通過在花括號(hào)之間提供0個(gè)或更多的鍵值對來創(chuàng)建字典。

          empty_dict = {}grades = {'John':'A', 'Emily':'A+', 'Betty':'B', 'Mike':'C', 'Ashley':'A'}grades{'Ashley': 'A', 'Betty': 'B', 'Emily': 'A+', 'John': 'A', 'Mike': 'C'}

          2. 訪問值


          我們通過提供索引來訪問列表中的值。類似地,在字典中,通過使用鍵來訪問值。

          grades['John']'A'grades.get('Betty')'B'

          3. 所有值/所有鍵


          keys方法用于獲取所有鍵。

          grades.keys()dict_keys(['John', 'Emily', 'Betty', 'Mike', 'Ashley'])

          返回對象是一個(gè)可迭代的dict_keys對象。因此,我們可以在for循環(huán)中對其進(jìn)行迭代訪問。


          類似地,value方法返回所有值。

          grades.values()dict_values(['A', 'A+', 'B', 'C', 'A'])

          我們無法在dict_keys或dict_values上建立索引,但可以將它們轉(zhuǎn)換為列表,然后使用索引。

          list(grades.values())[0]'A'

          items方法返回元組中的鍵值對。

          grades.items()dict_items([('John', 'A'), ('Emily', 'A+'), ('Betty', 'B'), ('Mike', 'C'), ('Ashley', 'A')])

          4. 更新或添加項(xiàng)目


          字典是可變的,因此我們可以更新、添加或刪除項(xiàng)目。更新或添加項(xiàng)的語法是相同的。如果字典中存在給定的鍵,則更新現(xiàn)有項(xiàng)的值。否則,將創(chuàng)建一個(gè)新項(xiàng)(即鍵值對)。

          grades['Edward'] = 'B+'grades['John'] = 'B'grades{'Ashley': 'A','Betty': 'B','Edward': 'B+','Emily': 'A+','John': 'B','Mike': 'C'}

          5. 刪除項(xiàng)目


          我們可以使用del或pop函數(shù)刪除一個(gè)項(xiàng)目。我們只是傳遞要?jiǎng)h除項(xiàng)目的鍵。

          del(grades['Edward'])grades.pop('Ashley')'A'grades'Betty': 'B', 'Emily': 'A+', 'John': 'B', 'Mike': 'C'}

          與del函數(shù)不同,pop函數(shù)返回被刪除項(xiàng)的值。因此,我們可以選擇將它賦給一個(gè)變量。


          6. 遍歷字典


          我們可以遍歷字典。默認(rèn)情況下,變例基于鍵的。

          for i in grades:print(i)JohnEmilyBettyMike

          7.從列表中創(chuàng)建一個(gè)字典


          我們可以使用列表或元組列表創(chuàng)建字典。

          a = [['A',4], ['B',5], ['C',11]]dict(a){'A': 4, 'B': 5, 'C': 11}b = [('A',4), ('B',5), ('C',11)]dict(b){'A': 4, 'B': 5, 'C': 11}

          8.復(fù)制字典

          grades = {'John':'A', 'Emily':'A+', 'Betty':'B'}dict1 = gradesdict2 = grades.copy()dict3 = dict(grades)


          所有的dict1,dict2和dict3都包含與grades完全相同的鍵值對。但是,dict1只是指向grades中鍵/值對的指針。因此,grades的任何變化也將改變dict1。


          dict2和dict3是內(nèi)存中的獨(dú)立對象,因此它們不會(huì)受到grades變化的影響。

          我們需要特別注意如何復(fù)制字典。


          總結(jié)


          Dictionary 是 Python 中非常重要的數(shù)據(jù)結(jié)構(gòu),在許多情況下都會(huì)使用。我們在這篇文章中舉的例子將會(huì)涵蓋大部分你需要了解的關(guān)于字典的知識(shí)。它們會(huì)讓你在使用字典的時(shí)候感覺很順暢。

          好消息!

          小白學(xué)視覺知識(shí)星球

          開始面向外開放啦??????




          下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
          在「小白學(xué)視覺」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺實(shí)戰(zhàn)項(xiàng)目52講
          小白學(xué)視覺公眾號(hào)后臺(tái)回復(fù):Python視覺實(shí)戰(zhàn)項(xiàng)目,即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計(jì)數(shù)、添加眼線、車牌識(shí)別、字符識(shí)別、情緒檢測、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺。

          下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
          小白學(xué)視覺公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講,即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

          交流群


          歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會(huì)逐漸細(xì)分),請掃描下面微信號(hào)加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會(huì)根據(jù)研究方向邀請進(jìn)入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會(huì)請出群,謝謝理解~


          瀏覽 38
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产精品美女www | 国产美女被干 | 成人久久 | 中文字幕第83页 | 久久综合伊人777777 |