[Python 筆記] 新手指南:使用元組管理地理資訊數據

更新於 2024/12/12閱讀時間約 6 分鐘

Hi guys! How are you doing? 沒想到已經是第四天了,今天我和我的論文指導教授 Meeting,會後花了一整天思考實驗的設計以及修改論文,直到現在才有空。今天我們一樣繼續分享我的 Python 筆記。

Introduction

這次的主題最後一種資料結構——Tuple(元組)。元組有兩個主要特點:有順序(Ordered)不可變(Immutable),這意味著元組一旦創建,其內容就無法再被修改。元組的數據會使用小括號 () 包起來,看起來簡潔又直觀。

優點:

  • 確保資料完整性(Data Integrity): 由於元組是不可變的,其內容一旦定義便無法被修改、添加或刪除,因此非常適合儲存需要保持穩定、不易被意外更動的數據。例如,用於配置設定(configuration settings)或存儲固定不變的資料,如地理座標等。
  • 效能高: 元組因其不可變性(immutability),在訪問和處理速度上比列表(list)更快。
  • 可哈希(Hashable): 元組可以作為字典的鍵(key),前提是元組中的所有元素都必須是可哈希的(hashable)。 [備註: 這個部分下面的 Code 會解釋]

Coding Example

今天的教學我們一樣以旅遊地點為主題進行練習。首先,讓我們先來看看資料的長相。

# 宣告變數
new_york_location = (40.7128, -74.0060)
los_angeles_location = (34.0522, -118.2437)關於前面提到的不可變性,讀者可以嘗試執行下面這段簡單的代碼。你會收到一個 TypeError,提示元組不支持項目分配 (item assignment)

關於前面提到的不可變性,讀者可以嘗試執行下面這段簡單的代碼。你會收到一個 TypeError,提示元組不支持項目分配 (item assignment) 。

new_york_location[0] = 123 # TypeError: 'tuple' object does not support item assignment
  1. 讀取 - 索引與切片 (Indexing and Slicing) - 元素是有序的,因此可以使用索引或切片操作來訪問特定元素
# 假設我想知道紐約的經度和洛杉磯的緯度
new_york_location[0] # output: 40.7128
los_angeles_location[1] # output: -118.2437

# 現在元組內只有兩個元素,沒有使用切片的必要,但當元素增加時,切片是很實用的技巧
new_york_location[0:2]
  1. 解包 (Unpacking) - 元組支持解包操作,可以將元組中的元素分別指定給多個變數。
new_york_long, new_york_lat = new_york_location
print(new_york_long, new_york_lat) # output: 40.7128 -74.006
  1. 元組作為字典的鍵(key):假設你今天想要建立一個字典,其中鍵是地點的經緯度,值是經緯度對應到的國家或城市...我們可以這樣做。
locations = { 
(40.7128, -74.0060): "New York",
(34.0522, -118.2437): "Los Angeles"
}

print(locations[(40.7128, -74.0060)]) # output: New York


關於元組的教學相對較簡單,主要是因為元組的函式較少。不過在這個教學的最後,我準備了一個 Coding 題目,以及兩個觀念題。邀請各位讀者一起練習,希望大家能夠透過這些練習,進一步加深對元組的理解和應用。


Coding Question

  1. 假設你有一個元組 city_info,其中包含城市的名稱、人口數量和面積。現在你想從這個元組中獲取城市的名稱和面積。
    1. 定義一個元組 city_info,其中包括城市名稱、人口數量和面積。
    2. 使用索引或切片來訪問這個元組中的城市名稱和面積,並將它們分別儲存到兩個變數中。
    3. 最後,印出這兩個變數的值。

Concept Question

  1. 你是否能說出元組的特性以及優點?
  2. 你是否能舉例什麼樣的資料適合使用元組儲存?

Conclusion

今天的 Tuple(元組)教學就到這裡啦!希望大家透過這篇文章對元組有更深入的了解。如果你對文章中提到的操作或應用有任何問題,歡迎在留言區討論,或者分享你用元組解決問題的經驗!也別忘了試試我提供的練習題目喔!祝大家練習順利,我們下次見啦~


Reference


avatar-img
1會員
6內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
CodingWRex的沙龍 的其他內容
這篇文章介紹了集合,集合特點包括唯一元素和無順序特性,使其在資料處理中非常實用,例如去重和進行數學集合運算。文章以聖誕節為背景,舉例說明集合如何在計劃聖誕節旅行時幫助篩選重複的旅行地點和比較不同朋友的願望清單。通過使用Python集合,讀者可以更深入了解它們的應用和數學操作,並增強對集合概念的理解。
這次主題是字典。字典是一種靈活的數據結構,用於儲存鍵值對。它們提供快速的查找功能,適合管理數據。 文章展示了如何用字典來儲存和操作旅遊地點的中文和英文名稱,例如如何讀取、新增、修改和刪除項目。這些基本操作在資料分析和工作中至關重要。未來 Rex 會介紹更多資料結構的應用,歡迎繼續關注並留言交流!
在這篇文章中,Rex 分享了 Python 中的資料結構 - 列表。列表是一種可變且長度可變的序列,可以包含多種數據類型。文章介紹了列表的優點及其基本操作,包括新增、插入和刪除項目,並透過實際的旅遊清單範例來說明。適合對 Python 感興趣的初學者,瞭解列表的基本用法及其特性。
這篇文章介紹了集合,集合特點包括唯一元素和無順序特性,使其在資料處理中非常實用,例如去重和進行數學集合運算。文章以聖誕節為背景,舉例說明集合如何在計劃聖誕節旅行時幫助篩選重複的旅行地點和比較不同朋友的願望清單。通過使用Python集合,讀者可以更深入了解它們的應用和數學操作,並增強對集合概念的理解。
這次主題是字典。字典是一種靈活的數據結構,用於儲存鍵值對。它們提供快速的查找功能,適合管理數據。 文章展示了如何用字典來儲存和操作旅遊地點的中文和英文名稱,例如如何讀取、新增、修改和刪除項目。這些基本操作在資料分析和工作中至關重要。未來 Rex 會介紹更多資料結構的應用,歡迎繼續關注並留言交流!
在這篇文章中,Rex 分享了 Python 中的資料結構 - 列表。列表是一種可變且長度可變的序列,可以包含多種數據類型。文章介紹了列表的優點及其基本操作,包括新增、插入和刪除項目,並透過實際的旅遊清單範例來說明。適合對 Python 感興趣的初學者,瞭解列表的基本用法及其特性。
你可能也想看
Google News 追蹤
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
在資料分析過程中,透過衡量變數之間的線性或非線性關係,能有效探索數據集,篩選出重要特徵,並進行預測建模。本文介紹瞭如何理解數據、使用相關矩陣找出變數關聯性,以及利用互資訊評估變數之間的依賴程度,幫助資料科學家在建模過程中選擇適當的變數,提升模型效果。
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
資料前處理(Data Preprocessing)中的重要角色-缺失值處理。從檢查、刪除到填充缺失值,以及插值法和機器學習算法的應用方法。Pandas 缺失值處理基礎方法、進階填充缺失值、鐵達尼號存活預測資料集的示例和機器學習算法填補缺失值方法的介紹與使用。
ITS python認證內容含蓋六大主題
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
在資料分析過程中,透過衡量變數之間的線性或非線性關係,能有效探索數據集,篩選出重要特徵,並進行預測建模。本文介紹瞭如何理解數據、使用相關矩陣找出變數關聯性,以及利用互資訊評估變數之間的依賴程度,幫助資料科學家在建模過程中選擇適當的變數,提升模型效果。
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
資料前處理(Data Preprocessing)中的重要角色-缺失值處理。從檢查、刪除到填充缺失值,以及插值法和機器學習算法的應用方法。Pandas 缺失值處理基礎方法、進階填充缺失值、鐵達尼號存活預測資料集的示例和機器學習算法填補缺失值方法的介紹與使用。
ITS python認證內容含蓋六大主題