Python基礎之數據結構(四)——字典

2021-02-24 宇梵文書


最近在整理Python基礎語法部分的筆記,準備邊整理邊分享。本篇是關於字典dict{A:B}的筆記。

Python常用的8種經典數據結構:

特點:

字典的形式為{A:a,B:b,……},其元素形式為鍵值對 A:a(B:b) ,其中冒號之前的 AB 被稱為 「鍵(key)」,冒號之後的 ab被 稱為 「值(value)」

字典是鍵值對的集合,鍵值對之間無序

在字典中通過鍵來索引值


應用:

映射的表達。例如統計數據的出現次數,數據是鍵,次數是值

最主要的作用:表達鍵值對數據,進而操作它們

元素的遍歷

student_1 = {"Name":"梵宇","Age":"19","Sex":"男","school":"復旦"} 

也可以使用zip方法創建字典。zip()方法將兩個列表對應位置的元素組成元組,這些元組構成新的列表,以zip對象的形式儲存。該zip對象可以幫助我們快速構築字典。

student_2_key = ["Name","Age","Sex","school"] student_1_value = ["亞楠","18","女","北理"] student_2_zip = zip(student_2_key,student_1_value) student_2 = dict(student_2_zip) print("student_2_zip:",student_2_zip) print("student_2:",student_2)

student_2_zip: <zip object at 0x000002D1FBE796C0>student_2: {'Name': '亞楠', 'Age': '18', 'Sex': '女', 'school': '北理'}

可以通過字典的嵌套實現多重映射。之前我們創建了兩個字典student_1和student_2,每個字典中以鍵值對的形式儲存了某個學生的信息。我們可以再創建一個字典students,並在students中建立編號ID與單個學生的映射關係。
students = {"01":student_1,             "02":student_2}print(students)

{'01': {'Name': '梵宇', 'Age': '19', 'Sex': '男', 'school': '復旦'}, '02': {'Name': '亞楠', 'Age': '18', 'Sex': '女', 'school': '北理'}}

print("訪問student_1的Name:",student_1["Name"]) #通過索引訪問print("訪問student_2的Age:",student_2.get("Age")) #通過get方法訪問print("訪問student_2的ID:",student_2.get("ID","不存在")) #get方法第二個參數指定了當鍵不存在時返回的值

訪問student_1的Name:梵宇訪問student_2的Age:18訪問student_2的ID:不存在

students["01"]["Name"] #訪問字典students中編號01的student的Name

通過索引的方式進行鍵值對的增加和更改

student_3 = {"Name":"書文",              "Age":"19",             "Sex":"女"}student_3["school"] = "北郵" students["03"] = student_3 print(student_3) print(students)

{'Name': '書文', 'Age': '19', 'Sex': '女', 'school': '北郵'}{'01': {'Name': '梵宇', 'Age': '19', 'Sex': '男', 'school': '復旦'}, '02': {'Name': '亞楠', 'Age': '18', 'Sex': '女', 'school': '北理'}, '03': {'Name': '書文', 'Age': '19', 'Sex': '女', 'school': '北郵'}}

使用 del dic[k] 的方式刪除字典dic中鍵k對應的鍵值對

使用 dic.pop() 方法刪除並返回dic中某個鍵值對

使用 dic.clear() 方法刪除dic中所有鍵值對

使用del的方式刪除第二個學生的信息

del students["02"] print(students)

{'01': {'Name': '梵宇', 'Age': '19', 'Sex': '男', 'school': '復旦'}, '03': {'Name': '書文', 'Age': '19', 'Sex': '女', 'school': '北郵'}}

使用.pop()方法刪除第一個學生的信息

students.pop("01") print(students)

{'03': {'Name': '書文', 'Age': '19', 'Sex': '女', 'school': '北郵'}}

使用.clear()方法清空students字典

students.clear() print(students)

print(student_1.keys()) print(student_1.values()) print(student_1.items()) print(student_1.popitem()) print(len(student_1)) 

dict_keys(['Name', 'Age', 'Sex', 'school'])dict_values(['梵宇', '19', '男', '復旦'])dict_items([('Name', '梵宇'), ('Age', '19'), ('Sex', '男'), ('school', '復旦')])('school', '復旦')3

字典的鍵和值各自可單獨被轉換為List類型。

print("字典鍵轉list",list(student_1.keys()))print("字典值轉list",list(student_1.values()))

print("字典鍵轉list",list(student_1.keys()))print("字典值轉list",list(student_1.values()))字典鍵轉list ['Name', 'Age', 'Sex']字典值轉list ['梵宇', '19', '男']

[1]董付國.Python程序設計基礎(第二版)[M].北京:清華大學出版社,2015:42-59[2]劉經緯,陳佳明.創新創業+新工科教學質量提升研究——零基礎學會Python人工智慧[M].北京:首都經濟貿易大學出版社,2020:25-26

[3]嵩天.PYE6.2-序列類型及操作v2.5[Z].2020

相關焦點

  • 小白學 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的基本數據類型和數據結構,函數和面向對象相關的知識,然後會介紹數據挖掘和機器學習經常用到的Numpy,Pandas。也希望這一系列文章能夠幫助剛剛接觸Python或者數據挖掘和機器學習的人。
  • P022 python基礎:數據類型之字典dict01
    字典是python裡面非常重要的數據類型,它的結構類似json。它和json是可以互轉的。接下來我們學習字典dcit。
  • Python基礎學習—數據結構:列表
    前面我們學習了pyth
  • 必須掌握的四種python數據結構,五分鐘快速掌握
    數據結構是相互之間存在一種或多種特定關係的數據元素的集合今天要講python的四個內置數據結構:分別是列表、元組、集合和字典,每種結構數據都有自己的特點,應用於不同情況3、(set)集合中的元素是無序且唯一的,這個集合和我們高中數學說的集合有相似之處,集合中的元素無序且唯一4、(dict)字典中的元素無序,內容可以修改,字典和我們常見的字典概念相似,通過關鍵字產找值,關鍵字和值之間產生一種映射關係,通過關鍵字可以找到對應的值,以key-value鍵值對存儲.
  • python數據類型總結——字典
    查字典的時候,通常我們會從某個字的特徵出發,如拼音或偏旁,最終根據索引,找到這個字。python中,也提供一種數據結構,它包含鍵和值兩個部分,通過鍵可以快速地找到對應的值。python字典字典通過大括號來聲明,可包含若干個鍵值對。字典是可變的。如下:
  • Python數據類型之字典dict
    # 字典是一種可變容器類型,可存儲任意類型對象# 字典以鍵值對存儲數據,key-value形式,鍵值之間使用冒號:分隔,每個鍵值中間用逗號,分隔# 字典包含在大括號,花括號{}中# python中鍵必須是不可變的,但值可取任何數據類型# 元組可以作為 dict 的 key,但列表不能作為元組的 key,dict 要求
  • Python數據結構中的字典
    @Author:Runsen今天,我們學習Python中的數據結構中的字典Python數據結構中的字典字典由鍵值對組成,鍵必須是唯一的;>eg: d = {key1:value1, key2:value2};空字典用{}表示;字典中的鍵值對是沒有順序的,如果想要一個特定的順序,那麼使用前需要對它們排序;d[key] = value,如果字典中已有key,則為其賦值為value,否則添加新的鍵值對key/value;
  • Python零基礎入門-03-Python基礎語法
    1,python系列課程學習方法由於python屬於腳本語言,如果單純的解釋語法沒有什麼實在的意義,所以我python系列的課程都是以視頻講解為主,至於這裡的文章,是給你複習用的。2. 基礎語法python的基礎語法都將以小例子作為驅動來講解。如果你有其他程式語言的基礎,那麼直接看文章就會很快上手。
  • Python入門教程——數據類型之字典
    Dictionary類型即字典。用 {} 表示,用來存儲鍵/值對。定義# 定義一個空字典dic = {}# 定義一個字典並初始化dict = {'name': 'python book', 'price': '$19.9', 'pages': 888}上述代碼,name、price、pages為鍵,python book、$19.9、888為值。
  • Python基礎學習之常用六大數據類型
    > tuple 元組 dict 字典講解這些先說一下python中的變量與變量名。(a.split(',')) #['hello', 'python'] 返回一個列表相對應的還有一個將列表元素連接成字符串:a = ['hello', 'python']str = '-'print(str.join(a)) # hello-python四、列表列表的寫法是一個方括號內的值用逗號分隔
  • python之dict字典數據類型講解
    前言python中有一種非常重要的數據類型就是dict字典。字典數據類型使用頻率是很廣泛的,其實字典數據類型非常類似於Java中的Map,JavaScript中的json。本文就重點講解dict字典。概念字典不同於其他數據類型,最重要的區別在於字典數據類型是通過一個key來去獲取對應的value。字典是通過鍵值對/key-value對聯繫起來的。語法字典的每個鍵值對使用「:」冒號進行分割,多個鍵值對使用「,」逗號分割。整個字典被一對「{}」包括起來。字典中的key必須要保證唯一,但是值可以重複。
  • 了解這些python數據結構,你也可以進BAT
    了解了數據結構,你就能把python代碼寫的如絲般順滑。  現如今在很多大廠面試中,面試官都會著重考察候選人對數據結構的認識程度和應用水平,為什麼呢?因為在實際工作過程中,數據結構就像代碼的地基一樣,地基不牢地動山搖。只有充分理解數據機構,才能在工作中應用的得心應手。Python中有哪些數據結構呢?
  • 學好Python,必須熟練掌握的幾種數據結構【文末送書】
    python提供了多種數據結構可供選擇,除了全局的列表、字典、集合和元組4個基本類型外,collections模塊提供了一些定製化的數據結構集合類數據結構,array和heapq模塊則分別提供了數組和堆數據結構,本文就這4種類型加以分別介紹。本文所指數據結構特指容器類數據結構,不包含int、str、boolean等單數據類型。
  • python數據結構總結——集合
    set函數創建集合python集合方法通過add或update方法都可以添加元素到集合,add只能添加單個元素,update可以以序列或字典作為參數當以字典作為參數時,會將字典中的值都添加到集合中。仍然會有去重效果。如下:
  • python基礎知識變量、運算和數據類型
    昨天搭建好juypter notebook,並錄製了第一堂python的課程,簡單講解了python的歷史,以及python可以幫助我們如何提供效率。= id(y)時 → False 知識點4:Python 基礎數據結構數據結構:包含多個數據的數據集,不同類型數據集對應不同的數據排列方式。數據集中的數據既可以是單個基礎數據(數字和字符串),也可以是不同類型的數據集。對於一門程式語言來說,數據結構就是其根基,了解掌握數據結構對於學好這門語言至關重要。
  • 小白學 Python 數據分析(3):Pandas (二)數據結構 Series
    (1):數據分析基礎小白學 Python 數據分析(2):Pandas (一)概述引言先介紹下 Pandas 的數據結構,畢竟數據結構是萬物的基礎。Pandas 有兩種主要的數據結構:Series 和 DataFrame ,本文就先介紹第一種 Series 。
  • Python基礎之數據結構(三)——集合
    最近在整理Python基礎語法部分的筆記,準備邊整理邊分享。本篇是關於集合set{ }的筆記。Python常用的8種經典數據結構:特點:集合類型與數學中的集合概念一致,其元素具有確定性、無序性、互異性。應用:集合的創建。集合用大括號{}表示,元素間逗號分隔。可以使用set()或{}直接創建。使用set()函數創建集合會自動地拆分多個字母組成的字符串。
  • 一日一技:python中4大數據結構常用接口簡介
    具體到python中數據結構的選擇運用,雖然有很多類型可供選擇:除了基本的列表、字典、集合和元組4個基本類型外,collections模塊中提供了很多定製化的數據結構,還有專用的堆heapq和枚舉enum等。誠然,特定數據結構在某些應用場景下可能有神奇的效果,但把基礎數據類型用到極致也可堪稱是絕招。
  • 【Python 第37課】 字典