.

iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0
AI/ ML & Data

藉由 Python 介紹統計學與機器學習系列 第 3

Day 03:【Python 入門-2】常用的資料型態

  • 分享至 

  • xImage
  •  

本文介紹使用 Google Colab。首先,先到 Colab 建立一個新的筆記本;或是,可以到雲端硬碟的界面,在畫面右上角點擊:新增->更多->Google Colab Colaboratory。

新增筆記本後,輸入

try:
    from google.colab import drive
    COLAB = True
    print("Note: using Google CoLab")
except:
    print("Note: not using Google CoLab")
    COLAB = False

確認使否在 Colab 的環境之中。

資料型態

Python 有 4 種常用的資料型態,有:

  1. Dictionary:字典,每有分順序,用來儲存一對對的鍵(key)與值(value)。
  2. List:串列,可變且有順序性,可以是視作一個向量,可以將任何一種物件作為它們的元素,但向量中每一元素所儲存的資料型別需相同。
  3. Set:集合,可變且沒有順序性,由數字、字串或布林所組成,同個集合內可以不同資料型別,但不會儲存重複的資料。
  4. Tuple:元組,不可變且有順序性,可儲存重複的資料。

多數 Python 的資料型態為可變的,也就是在物件被定義之後,還可以就由程式來增減元素。反之,不可變動係指在物件定義後就不能再藉由程式增減元素。

List 與 Tuple 長得非常相似,兩者最大的不同是 List 的元素是可變的,但 Tuple 不行。還有, List 是以 [ ] 儲存資料,而 Tuple 是以
( ) 儲存資料。所以,當我們要儲存差距不多、相似的資料時,會選擇 List;當預先就已經確認之後要儲存的資料時,會考慮使用 Tuple。另,相比 List, Tuple 還有讀取速度快及占用的記憶體空間較小等優勢。

以下分別介紹 4 種資料型態。

List 與 Tuple

從以下可以觀察到 List 的元素是可變的,而 Tuple 不可變的。

a = ['a', 'b', 'c']
b = ('a', 'b', 'c')

# 替換 a 的第一的元素
a[0] = 'd'
print(a)

# 替換 b 的第一的元素
b[0] = 'd'
print(b)

執行後會報錯。

Python 可以使用 for-loop 來依次讀取物件中的各元素。

a = ['a', 'b', 'c']

for i in a:
  print(i)  

可以使用 enumerate 搭配 for-loop 印出物件中的 index與元素,值得注意的是 Python 的 index 是從 0 開始計數。

for i, j in enumerate(a):
  print(f'{i}:{j}')

Set 集合

Set 為可變非順序,儲存非重複的資料。Set 可以Set(*){*}
示,其中

  • 如果不儲存任何資料,代表為空集合。({ } 無法扁是空集合)
  • 如果儲存重複的資料還是依然可以執行,但是只有不重複之部分才會保留下來。
  • 如果儲存的資料為字串,只會保留不重複的部分。
  • 如果儲存字典,只會保留下 key。
  • 如果儲存重複的布林值,只會保留不重複的部分。
a = set() 
b = set(['a', 'b', 'c', 'c']) 
c = set('Hollow World') 
d = set({'apple': 11, 'banana': 12, 'cherry': 13}) 
e = {True, True, True, False, False}

print(a) # set() 空集合
print(b) # {'a', 'c', 'b'}
print(c) # {'l', 'W', 'H', 'o', 'r', 'w', ' ', 'd'}
print(d) # {'banana', 'cherry', 'apple'}
print(e) # {False, True}

Dictionary 字典

Dictionary 可以 dict(*){*} 表示,儲存成對的 key、value。

d = {'name': 'Kevin', 'age': 24, 'address': '123 UNIVERSITY', 'eat': ['apple', 'banana'], 'drink': False}

# Key: dict_keys(['name', 'age', 'address', 'eat', 'drink'])
print(f"Key: {d.keys()}") 

# Values: dict_values(['Kevin', 24, '123 UNIVERSITY', ['apple', 'banana'], False])
print(f"Values: {d.values()}")
``

上一篇
Day 02:【Python 入門-1】建立 Python 檔案
下一篇
Day 04:【Python 入門-4】作圖
系列文
藉由 Python 介紹統計學與機器學習31
圖片
  直播研討會

尚未有邦友留言

立即登入留言