【Python 筆記】探索字典(Dictionary):靈活的鍵值對與應用案例分析

更新於 發佈於 閱讀時間約 6 分鐘

嗨,大家好!我是 Rex,今天繼續跟大家分享我的 Python 筆記。

Introduction

這次的主題是另一個非常常見的資料結構 - 字典(Dictionary)。字典在大部分資料分析專案中都能見到哦。字典也被稱為散列映射(Hash Map)或聯合數組(Associative Array),是一種非常靈活的數據結構。它儲存了一組由鍵值對(key-value pairs)組成的集合。鍵必須是不可變(immutable)的物件,比如字符串、數字或者元組。值則可以是任何 Python 的物件。字典使用大括號 {} 包裹住數據,當你在 Python 中看到長這樣的程式碼時,它就是字典啦!

優點

  • 快速查找:字典提供快速的查找功能,適合用於基於 Unique Identifier 進行數據搜尋和操作。
  • 靈活的鍵值存儲:它能夠輕鬆地存儲和管理不同類型的數據對應關係。

Coding Example

字典在生活中的應用非常廣泛。例如,在大多數軟體公司中,字典可以用來儲存使用者的資料(如名稱、年齡、電子郵件等)。對於語言學習軟體而言,字典則可以儲存句子的翻譯對照(例如,"我是 Rex" 對應到 "I am Rex")。上一篇我以旅遊清單為例子解釋列表(List),今天就來做延伸,用字典來儲存旅遊地點的中文和英文名稱。

首先,我們的資料長這樣

travel_destinations = { 
"Paris": "巴黎",
"Tokyo": "東京",
"New York": "紐約",
"Sydney": "雪梨",
"Rome": "羅馬" }
  1. 讀取數值 - 想知道 Paris 的中文名稱
travel_destinations["Paris"]  # Output "巴黎"
  1. 新增一個新的旅遊城市 - “Barcelona” 的英文名和中文名
travel_desitination["Barcelona"] = "巴塞隆納"
  1. 修改一個城市的中文命名 - "New York" 改成 "大蘋果" [備註: 延伸資料在這!]
travel_desitination["New York"] = "大蘋果"
  1. 刪除某個城市 - 假如你不想去 Syndney 了
del travle_destination["Syndney"]
  1. 取得所有旅遊地的英文名稱 (Key 鍵) - 使用 dict.keys()
keys = travle_destination.keys()
print(values)
# Output: dict_keys(['Paris', 'Tokyo', 'New York', 'Rome', 'Barcelona'])
  1. 取得所有旅遊地的中文名稱 (Value 值) - 使用 dict.values()
values = travle_destination.values()
print(keys)
# Output: dict_values(['巴黎', '東京', '大蘋果', '羅馬', '巴塞隆納'])
  1. 同時取得旅遊地的中文以及英文名稱 (Key-Value 鍵值) - 使用 dict.items()
items = travel_destinations.items()
print(items)
# Output: dict_items([('Paris', '巴黎'), ('Tokyo', '東京'), ('New York', '大蘋果'), ('Rome', '羅馬'), ('Barcelona', '巴塞隆納')])


這些提到的方法都是我在做資料分析時經常使用的功能。字典是一個非常重要的資料結構,不論是用來儲存資料,還是通過 API 向第三方取資料(通常以 JSON 格式),這些基本操作在工作中都不可或缺。當然,這篇教學不會涵蓋所有字典的方法,如果有興趣的話,歡迎大家點擊我下方提供的延伸連結進一步研究。

最後,在這個教學的結束,我也給大家一個觀念題和兩個 Coding 題目,邀請各位讀者一起練習!希望大家能夠透過這些練習,進一步加深對字典的理解和應用。

Coding Exercise

  • 建立一個名為 student 的字典,存儲學生的名字、年齡和成績。從字典中打印出學生的年齡。
  • (進階題,除了 forloop,其他概念在這堂課都有提到!) 寫一個函數,該函數接收一個字典作為輸入,並返回一個新的字典,其中的鍵和值交換。


Concept Question

  • 字典中的允許哪些數據類型? (List? Int? Dict? Float? String? ...)


歡迎各位在留言區分享你們的想法,有問題的話也歡迎提問!

下一篇我會提到其他資料結構,沒意外的話會是集合 (Set),我們下次見!


Reference

留言
avatar-img
留言分享你的想法!
avatar-img
CodingWRex的沙龍
1會員
7內容數
CodingWRex的沙龍的其他內容
2024/12/17
在這篇新手必學指南中,探索如何使用 Python 的 Lambda Function 來進行資料篩選和轉換操作。從篩選數字到調整產品價格,通過實際範例和練習題,幫助你更清晰地理解其應用以及主要優點,並學會如何在 Python 中高效處理資料。開始提升你的 Python 技能,掌握資料分析的基本技巧!
Thumbnail
2024/12/17
在這篇新手必學指南中,探索如何使用 Python 的 Lambda Function 來進行資料篩選和轉換操作。從篩選數字到調整產品價格,通過實際範例和練習題,幫助你更清晰地理解其應用以及主要優點,並學會如何在 Python 中高效處理資料。開始提升你的 Python 技能,掌握資料分析的基本技巧!
Thumbnail
2024/12/16
本篇Python筆記介紹了List和Dictionary Comprehensions的應用與優勢。通過具體例子展示如何利用這些生成式來進行資料篩選、轉換和整合,並提升程式碼的可讀性和效能。適合新手學習如何用簡潔的語法來快速創建和操作資料結構,幫助你在資料分析中更靈活應用Python。
Thumbnail
2024/12/16
本篇Python筆記介紹了List和Dictionary Comprehensions的應用與優勢。通過具體例子展示如何利用這些生成式來進行資料篩選、轉換和整合,並提升程式碼的可讀性和效能。適合新手學習如何用簡潔的語法來快速創建和操作資料結構,幫助你在資料分析中更靈活應用Python。
Thumbnail
2024/12/13
在這篇文章中,通過聖誕節主題來學習Python內建序列函式。介紹了enumerate(), zip(), sorted() 和 reversed()。示範了如何在迭代過程中追蹤索引和值、將多個序列合併成對、對可迭代對象進行排序和反向顯示等操作。這些函式簡化了代碼,提升了可讀性和效能,適合新手學習。
Thumbnail
2024/12/13
在這篇文章中,通過聖誕節主題來學習Python內建序列函式。介紹了enumerate(), zip(), sorted() 和 reversed()。示範了如何在迭代過程中追蹤索引和值、將多個序列合併成對、對可迭代對象進行排序和反向顯示等操作。這些函式簡化了代碼,提升了可讀性和效能,適合新手學習。
Thumbnail
看更多
你可能也想看
Thumbnail
Basic python data structure
Thumbnail
Basic python data structure
Thumbnail
Dictionary 字典 和 Set 集合 字典(Dictionary)是 Python 中一個常用的資料結構,用於儲存一組鍵值對(Key-Value pairs)。集合(Set)是 Python 中的一種無序、可變的資料結構,用於存儲多個元素,且集合中的元素是唯一的(不重複)
Thumbnail
Dictionary 字典 和 Set 集合 字典(Dictionary)是 Python 中一個常用的資料結構,用於儲存一組鍵值對(Key-Value pairs)。集合(Set)是 Python 中的一種無序、可變的資料結構,用於存儲多個元素,且集合中的元素是唯一的(不重複)
Thumbnail
Hi,大家好。我是茶桁。 关于Python的数据类型,我们已经详细讲解了三种,字符串,列表和元组。那么今天,我们再来讲一种:字典。 字典也是一种数据的集合,由健值对组成的数据集合,字典中的键是不能重复的。 字典中的键必须是不可变的数据类型,常用的键主要是:字符串,整型... 实际上,在之前字
Thumbnail
Hi,大家好。我是茶桁。 关于Python的数据类型,我们已经详细讲解了三种,字符串,列表和元组。那么今天,我们再来讲一种:字典。 字典也是一种数据的集合,由健值对组成的数据集合,字典中的键是不能重复的。 字典中的键必须是不可变的数据类型,常用的键主要是:字符串,整型... 实际上,在之前字
Thumbnail
Hi,大家好。我是茶桁。 最近几节课,我们都是在详细讲解Python内的数据类型,上一节课我们详细了解了字符串,这节课,让我们来详解一下列表。 首先,我们先有一个大的概念,列表,其实就是一组有序的数据组合;另外,列表中的数据是可以被修改的。也就是说,列表是一个可变序列类型。 列表定义 如何在
Thumbnail
Hi,大家好。我是茶桁。 最近几节课,我们都是在详细讲解Python内的数据类型,上一节课我们详细了解了字符串,这节课,让我们来详解一下列表。 首先,我们先有一个大的概念,列表,其实就是一组有序的数据组合;另外,列表中的数据是可以被修改的。也就是说,列表是一个可变序列类型。 列表定义 如何在
Thumbnail
我們將會學習 Python 中的數據結構。 主要的數據結構包括列表 (List)、元組 (Tuple)、字典 (Dictionary) 以及集合 (Set)。
Thumbnail
我們將會學習 Python 中的數據結構。 主要的數據結構包括列表 (List)、元組 (Tuple)、字典 (Dictionary) 以及集合 (Set)。
Thumbnail
Python提供集合做為其資料結構,它就如同高中數學所學集合的概念,集合的內容一般來說是具有某種特性的事物的整體,例如考試分數及格的群體、數字1到100內的所有奇數、球箱內所有球的顏色等。因此,在一個集合中,每個元素的地位都是相同且無序,並且只能出現一次,集合和集合之間,也可以進行交集、聯集、差集等
Thumbnail
Python提供集合做為其資料結構,它就如同高中數學所學集合的概念,集合的內容一般來說是具有某種特性的事物的整體,例如考試分數及格的群體、數字1到100內的所有奇數、球箱內所有球的顏色等。因此,在一個集合中,每個元素的地位都是相同且無序,並且只能出現一次,集合和集合之間,也可以進行交集、聯集、差集等
Thumbnail
在前面的文章中我們學習了關於字典的基本用法,今天再討論更多關於字典的其它用法,以及它和串列、元組等的關聯。
Thumbnail
在前面的文章中我們學習了關於字典的基本用法,今天再討論更多關於字典的其它用法,以及它和串列、元組等的關聯。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News