[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
留言分享你的想法!
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
在 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
在前面的文章中我們學習了關於字典的基本用法,今天再討論更多關於字典的其它用法,以及它和串列、元組等的關聯。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News