Lists

給 MATLAB 使用者的 Python

Justin Kiggins

Product Manager

什麼是 list?

  • 簡單的 Python 資料儲存結構
  • list 可放任何東西
  • 類似 MATLAB 的 cell array
  • 但僅一維
  • 索引方式如 NumPy 陣列
給 MATLAB 使用者的 Python

建立 list

my_list = [8, 6, 7, 5, 3, 0 ,9]

print(my_list[2])
7
print(my_list[-3:])
[3, 0, 9]
給 MATLAB 使用者的 Python

由 list 建立 NumPy 陣列

my_list = [8, 6, 7, 5, 3, 0 ,9]
import numpy as np

my_array = np.array(my_list)
type(my_array)
numpy.ndarray
給 MATLAB 使用者的 Python

由巢狀 list 建立多維 NumPy 陣列

list_of_lists = [[2, 3], [9, 0], [1, 4]]

import numpy as np arr = np.array(list_of_lists) print(arr)
[[2, 3]
 [9, 0]
 [1, 4]]
arr.shape
(3, 2)
給 MATLAB 使用者的 Python

list 與 NumPy 陣列的差異

NumPy 陣列 list
全部元素型別相同 可混合型別
(+) 為元素逐一相加 (+) 為串接 list
可為多維 僅一維
區間與布林索引 只有區間索引
給 MATLAB 使用者的 Python

何時用哪一個

  • 需要做數學運算?

    • 用 NumPy 陣列
  • 要存複雜結構?

    • 用 list
  • 多維資料?

    • 用 NumPy 陣列
給 MATLAB 使用者的 Python

一起來練習吧!

給 MATLAB 使用者的 Python

Preparing Video For Download...