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

更新 發佈閱讀 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
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
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
在 Python 中,tuple 與 List有一個關鍵的不同點:tuple 是不可變的,這意味著一旦創建了 tuple,就無法更改其內容。 這與 List的可變性形成了對比,list 可以新增、刪除或修改元素。 元素的意思: 元素:指的是 List 中的每一個獨立的項目或值。
Thumbnail
在 Python 中,tuple 與 List有一個關鍵的不同點:tuple 是不可變的,這意味著一旦創建了 tuple,就無法更改其內容。 這與 List的可變性形成了對比,list 可以新增、刪除或修改元素。 元素的意思: 元素:指的是 List 中的每一個獨立的項目或值。
Thumbnail
List 清單 和 Tuple元組 清單在Python裡面非常的常用,大家一定要熟練這些基礎的元素。 在Python中,列表(List)是一種常用的資料類型,用於儲存一組有序的元素。列表是可變的(Mutable),這意味著你可以在列表中新增、刪除和修改元素。列表使用方括號 []
Thumbnail
List 清單 和 Tuple元組 清單在Python裡面非常的常用,大家一定要熟練這些基礎的元素。 在Python中,列表(List)是一種常用的資料類型,用於儲存一組有序的元素。列表是可變的(Mutable),這意味著你可以在列表中新增、刪除和修改元素。列表使用方括號 []
Thumbnail
list跟tuple 應用場景跟常用函式:append extend insert remove clear pop del
Thumbnail
list跟tuple 應用場景跟常用函式:append extend insert remove clear pop del
Thumbnail
Hi,大家好。我是茶桁。 之前两节分别介绍了字符串和列表,今天,我们来讲讲另外一个常用到的数据类型:元组。 元组和列表很像,两者都是一组有序的数据的组合。但是也有很多不同点,比如元组内的元素一旦定义了就不可以再修改,因此元组称为不可变数据类型。 元组定义 元组的定义方式包括以下要点: 定义
Thumbnail
Hi,大家好。我是茶桁。 之前两节分别介绍了字符串和列表,今天,我们来讲讲另外一个常用到的数据类型:元组。 元组和列表很像,两者都是一组有序的数据的组合。但是也有很多不同点,比如元组内的元素一旦定义了就不可以再修改,因此元组称为不可变数据类型。 元组定义 元组的定义方式包括以下要点: 定义
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
在前面的文章中我們學習了關於字典的基本用法,今天再討論更多關於字典的其它用法,以及它和串列、元組等的關聯。
Thumbnail
在程式設計中,我們會使用到一些固定不會變動的資料內容,例如一年的月份、物體的邊長、過去一周的氣溫等等,使用串列的結構固然也可以用來儲存這些資料,但串列可以被新增或刪除,不能有效保護這類不可變動的資料。因此,Python也提供了另一種形式的資料結構,稱為元組,它的資料結構和串列相同,但資料的內容不可變
Thumbnail
在程式設計中,我們會使用到一些固定不會變動的資料內容,例如一年的月份、物體的邊長、過去一周的氣溫等等,使用串列的結構固然也可以用來儲存這些資料,但串列可以被新增或刪除,不能有效保護這類不可變動的資料。因此,Python也提供了另一種形式的資料結構,稱為元組,它的資料結構和串列相同,但資料的內容不可變
Thumbnail
前面提到變數為程式儲存資料的地方,一個變數可以儲存一個學生的成績、一個人的身高、或是一個人名等,但如果多人的資料要管理,為每個人設計一個變數顯然就有點不切實際,串列就是用來解決這樣的問題。
Thumbnail
前面提到變數為程式儲存資料的地方,一個變數可以儲存一個學生的成績、一個人的身高、或是一個人名等,但如果多人的資料要管理,為每個人設計一個變數顯然就有點不切實際,串列就是用來解決這樣的問題。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News