Python 學習日記 EP 4 - 串列

參考書目: Python自動化的樂趣: 搞定重複瑣碎&單調無聊的工作

tags: Python 學習日記

📝 串列資料型別

📓 以索引取得串列值

📓 負數索引取值

📓 切片取得子串列

  • example: spam[起始索引 : 結束索引],不包含"結束索引"

📓 len() 取得串列長度

📓 用索引改變串列中的值

📓 串列的連接與複製

📓 del 刪除串列中的值


📝 運用串列


📝 在迴圈中使用串列

📓 in、not in 運算子

📓 多重指定值


📝 增強型指定運算子

增強型運算子 相同的表達式
spam += 1 spam = spam + 1
spam -= 1 spam = spam - 1
spam *= 1 spam = spam * 1
spam /= 1 spam = spam / 1
spam %= 1 spam = spam % 1


📝 串列方法

📓 index()

  • 回傳欲搜尋值所在的索引(有相同的重複值則回傳第一個),若值不存在串列中則回報 ValueError

📓 append()

  • 新增值到串列的最後方

📓 insert()

  • 插入值到特定的串列位置

📓 remove()

  • 將特定值從串列中刪除(有相同的重複值則刪除出現的第一個),若值原本就不存在於串列中,則回報 ValueError

📓 sort()

  • 排序串列 (預設由小到大)
  • 關鍵字引數: reverse = True,反向做串列排序
  • 關鍵字引數: key = str.lower,將字母都視為小寫後排序


📝 類似串列 (List-like) 的型別: 字串、元組

📓 可變、不可變資料型別

  1. 可變 (mutable): 例如: 串列的值可以新增、刪除、修改
  2. 不可變 (immutable): 例如: 字串的值不能新增、刪除、修改

📓 多元組資料型別

  • 多元組和串列幾乎相同除了:
    • 使用小括弧 ()
    • 多元組是不可變的

💡 Hint: 當多元組內只有一個值時,要在值後加上逗號(,),說明它是一個"多元組"而"不是字串",例如: spam = (1,)。

📓 轉換型別

  1. list()
  2. tuple()


📝 參照

  • 參照(reference)可以想成是存放變數的位置,假設有兩個變數指向同一個位置,更改其中一個變數值,也會動到另一個變數值。

📓 傳入參照

  • 將串列指定給變數時,實際上是將參照指定給變數

📓 copy 模組

  • 若不想影響到串列原有值,可以考慮使用 copy 模組
  1. copy(): 一維串列適用
  2. deepcopy(): 多維串列適用 (但直接用 copy() 似乎也可以)

分享到