list



range() 產生的是一個數列,資料型態為 list,而 list 的功能更強大,應用更廣更方便。

list 為資料的集合,由 方括號 [] 包住,資料間以 逗號( , ) 分隔,list 內的資料可以是任意型態,如:數字字串布林值,甚至是 list,並且 list 內的資料型態不須相同,list 內的資料稱為「元素(element)」或「項目(item)」,list 也是一個 物件

list 的應用:
 
# list 內的元素可以混合
List1 = [1, 3, 'dog', 'cat', 9, 'ice', 2, True, 6, 30]

print(List1)    # 寫法與 List1[::] 相同
# 會顯示:[1, 3, 'dog', 'cat', 9, 'ice', 2, True, 6, 30]


# list 內的參數 [起始索引:終止索引:差距/間隔]




print(List1[::])
# 會顯示:[1, 3, 'dog', 'cat', 9, 'ice', 2, True, 6, 30]




# 顯示 List1 的元素個數
print('List1 的元素個數:', len(List1))




# list 內的元素的位置稱為「index(索引)」
# index 由 0 開始, 跟我們生活中的數學不大一樣
print(List1[2])    # 列出 List1 索引為 2 的元素, 所以是第 3 個元素
# 會顯示:'dog'




# 列出 List1 索引值自 6 之後的元素
print(List1[6:])
# 會顯示:[2, True, 6, 30]




# 列出 List1 索引值自 0 至 <6 的元素
print(List1[:6])
# 會顯示:[1, 3, 'dog', 'cat', 9, 'ice']




# 列出 List1 索引值 >=1 且 <3 的元素
# 所以是索引值 1 ~ 2
print(List1[1:3])
# 會顯示:[3, 'dog']




# 列出 List1 索引值自 4 至 倒數第 2 個元素 
print(List1[4:-1])
# 會顯示:[9, 'ice', 2, True, 6]




# 列出 List1 索引值 4 ~ 7, 且間隔 2 個的元素
print(List1[4:8:2])
# 會顯示:[9, 2]




# 查詢某個元素的索引值
print('ice 的索引值', List1.index('ice'))
# 會顯示:5




# 查詢某個值 是否在 list 內
print('egg' in List1)
# 會顯示:False




# 在 list 的最末新增一個元素
List1.append('good')
print(List1)
# 會顯示:[1, 3, 'dog', 'cat', 9, 'ice', 2, True, 6, 30, 'good']




# 在指定的位置插入一個元素
List1.insert(2, 'bad')
print(List1)
# 會顯示:[1, 3, 'bad', 'dog', 'cat', 9, 'ice', 2, True, 6, 30, 'good']




# 取出最末一個元素, 並將值存入 變數 x
x = List1.pop()    # 沒有傳參數時, 預設值為最末一個
print('x =', x)
# 會顯示:good
print(List1)    # 元素取出後就不存在 list 內了
# 會顯示:[1, 3, 'bad', 'dog', 'cat', 9, 'ice', 2, True, 6, 30]




# 取出索引值為 5 的元素, 並將值存入 變數 x
y = List1.pop(5)
print('y =', y)
# 會顯示:9
print(List1)
# 會顯示:[1, 3, 'bad', 'dog', 'cat', 'ice', 2, True, 6, 30]




# 移除某個元素
List1.remove('cat')
print(List1)
# 會顯示:[1, 3, 'bad', 'dog', 'ice', 2, True, 6, 30]




# 要小心!! 當 list 內所有元素的資料型態不一致時
# 使用這個 method 會發生錯誤
List2 = [99, 2, 6, 55]
List2.sort()    # List2 內的元素 自小至大 排列
print(List2)
# 會顯示:[2, 6, 55, 99]




List3 = [99, 2, 6, 55]
List3.reverse()    # List3 內的元素 反向排列
print(List3)
# 會顯示:[55, 6, 2, 99]




# 插入另一個 list
# 整個 [2, 6, 55, 99] 變成了 List1 的其中一個元素
List1.append(List2)
print(List1)
# 會顯示:[1, 3, 'bad', 'dog', 'ice', 2, True, 6, 30, [2, 6, 55, 99]]




# 將 List3 的每個元素放入 List1 的最末
# List1 的元素個數因此「延展」
# 注意比較與 append() 的差異
List1.extend(List3)
print(List1)
# 會顯示:[1, 3, 'bad', 'dog', 'ice', 2, True, 6, 30, [2, 6, 55, 99], 55, 6, 2, 99]




# 變更 List2 索引值為 2 的元素的值
List2[2] = 4
print(List2)
# 會顯示:[2, 6, 4, 99]




# 合併 2 個 list 的元素
List2 = List2 + List3
print(List2)
# 會顯示:[2, 6, 4, 99, 55, 6, 2, 99]




# 計算 List1 值為 dog 的元素個數
List1.append('dog')
print('List1 內的 dog 數:', List1.count('dog'))
# 會顯示:2




# List1 的元素值複製一份給 List4
List4 = List1.copy()
print('List4 =', List4)
# 會顯示:[1, 3, 'bad', 'dog', 'ice', 2, True, 6, 30, [2, 6, 4, 99], 55, 6, 2, 99, 'dog']




# 清除 List1 內的全部元素
List1.clear()
print(List1)
# 會顯示:[]




# 刪除 List1, 從此不存在
del List1
print(List1)    # 會出現錯誤訊息
 






⇑ 目錄 ⇑